【发布时间】:2014-01-15 02:46:05
【问题描述】:
我是 maven 的初学者,很多东西都不懂。我可以构建简单的可执行 jar,但是如何将多模块 maven 项目构建到可执行 jar 中对我来说很神奇。所以,我有三个项目。 家长:
<?xml version="1.0" encoding="UTF-8"?>
<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>org.example</groupId>
<artifactId>Test</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>Main</module>
<module>Dep</module>
</modules>
</project>
还有两个子项目:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>Test</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>Main</artifactId>
<dependencies>
<dependency>
<groupId>org.example</groupId>
<artifactId>Dep</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
和:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>Test</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>Dep</artifactId>
</project>
主模块有主类和主方法(lol)
public class Main {
public static void main(String[] args) {
Hello hello = new Hello();
System.out.println(hello.sayHello());
}
}
Class Hello 是在 Dep 模块中定义的。我应该在我的 poms 中添加什么来构建以 Main 模块中的 Main 类作为入口点的可执行 jar?
【问题讨论】:
-
How can I create an executable jar with dependencies using Maven? 的可能副本。阅读这个问题的公认答案,它也应该符合您的需求。