我有一个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>
Run Code Online (Sandbox Code Playgroud)
wem*_*emu 14
从具有一些maven支持的IDE(Eclipse,IntellIJ)运行应用程序应该非常简单.这些IDE将负责创建正确的类路径.
如果您想手动执行此操作,请尝试以下操作:
更改到包含pom.xml的目录执行maven命令:
mvn clean install
Run Code Online (Sandbox Code Playgroud)
这将编译您的项目并创建您在pom.xml文件中定义的jar.它运行maven阶段干净,每个阶段都要安装(编译,测试等).
然后收集您用作依赖项的所有jar文件(运行项目所需):
mvn dependency:copy-dependencies
Run Code Online (Sandbox Code Playgroud)
这将执行依赖项插件,该插件将所有依赖项复制到其中target/dependency.
然后,您可以使用以下命令运行main方法:
cd target/
java -cp TCPPing-0.0.1-SNAPSHOT.jar:dependency TCPPing
Run Code Online (Sandbox Code Playgroud)
-cp定义类路径(包含类的所有位置/ jar文件/文件夹).TCPPing是具有main方法的运行类.
注意:是适用于Linux/Mac - 我认为Windows使用的是;.
| 归档时间: |
|
| 查看次数: |
40688 次 |
| 最近记录: |