刚接触马文...
我已经成功地为我的应用程序创建了一个 jar。我想从这个 jar“java -jar foo.jar MyClass”运行应用程序,但我不知道从哪里获取(和打包)所有依赖项。maven 有这样做的目标吗?如果没有,我是否使用类似 proguard 的东西?然后我如何将它融入到 Maven 目标中?
提前致谢
这不完全是您问题的答案,但要创建一个“胖”jar,将所有依赖项打包,请尝试使用 maven 编译器插件:
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.stackoverflow.example.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Maven 将所有依赖项放在您的~/.m2
文件夹中。(如果您使用的是 Maven 2)
只要您pom.xml
拥有所需的一切,mvn clean install
就可以处理所有细节。
请记住,您可以mvn dependency:tree
在项目中执行 a 查看所有依赖项:p