【发布时间】:2016-07-11 20:04:44
【问题描述】:
我有一个 Maven 项目,我通常可以从 eclipse 编译和运行,但是当我从命令行编译它时,它的依赖项丢失并且我收到错误。只有在下载依赖项并将它们添加到 c:/Java/jdk/jre/lib/ext 后才能编译项目
如何在不手动将它们添加到 jdk 的情况下从控制台行编译项目及其依赖项?编译器可以以某种方式读取 maven 依赖项吗?
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>TCPPing</groupId>
<artifactId>TCPPing</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.6</version>
</dependency>
</dependencies>
</project>
【问题讨论】:
-
请考虑至少阅读一些 maven 文档:maven.apache.org/guides/getting-started/… - 请永远不要再向 lib/ext/ 添加任何内容! java 类路径选项足以运行您的应用程序。不要用项目特定的文件污染你的 java 安装。
-
我确实读过它,但我仍然不明白该怎么做,我对这一切都很陌生。我设法生成包含所有依赖项的项目的 jar 文件并运行它,但这不是我需要的,我只希望我的编译器从 projectFolder/lib 读取我的依赖项
-
请添加您项目的
pom.xml -
您需要将哪些依赖项添加到 JDK 的 ext 文件夹中?您可以使用 search.maven.org 找到相应的依赖项并将它们添加到您的 pom 中。
-
我需要上述 pom.xml 中的所有依赖项。 commons-cli、commons-net 和 logback-classic