Java 将jar库添加到jar文件中
我正在做一个maven项目。在idea中编译和运行我的项目时,一切都很好,但是每当我创建jar文件时,web/lib/中的外部jar文件都无法复制到jar文件中。为什么会发生这种情况?我可以将我的所有文件插入jar文件吗?您可以使用的描述符来实现这一点。您需要使用以下内容:Java 将jar库添加到jar文件中,java,maven,Java,Maven,我正在做一个maven项目。在idea中编译和运行我的项目时,一切都很好,但是每当我创建jar文件时,web/lib/中的外部jar文件都无法复制到jar文件中。为什么会发生这种情况?我可以将我的所有文件插入jar文件吗?您可以使用的描述符来实现这一点。您需要使用以下内容: </project> ... <build> ... <plugins> <plugin> <ar
</project>
...
<build>
...
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<configuration>
<archive>
<manifest> <!-- requires for executable Jar -->
<mainClass>org.my.main.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef> <!-- final Jar will have this text appended -->
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- append to the packaging phase. -->
<goals>
<goal>single</goal> <!-- goals == mojos -->
</goals>
</execution>
</executions>
</plugin>
....
</plugins>
</build>
</project>
...
...
maven汇编插件
2.2
org.my.main.MainClass
带有依赖项的jar
组装
包裹
单身
....
是的,我找到了解决方案
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<configuration>
<finalName>HelloWorld</finalName>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.gui.launcher.LauncherMain</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>
<!-- append to the packaging phase. -->
<goals>
<goal>single</goal>
<!-- goals == mojos -->
</goals>
</execution>
</executions>
</plugin>
maven汇编插件
2.2
地狱世界
真的
com.gui.launcher.launchemain
带有依赖项的jar
组装
包装
单身
我已经使用过这个插件。我在项目中使用Symmetricds jar文件,但在jar文件中看不到这些jar文件。web/lib目录中的Symmetricds jar文件。@Muhammed Yüce,这些Symmetricds jar文件是作为依赖项添加到pom.xml中的吗?不,不是。因为这些jar文件是对称Ds的专用文件,对称Ds提供两个数据库之间的同步。我只想将包含jar文件的文件夹添加到可执行jar文件中。@Muhammed Yüce——因此,您需要将这些jar作为依赖项添加。因为它们不是公开的,所以您需要在本地repo中安装它们,比如mvn安装:install file-Dfile=-DgroupId=-DartifactId=您也可以使用一个jar手动创建jar包。请看这里我的文件夹在src文件夹下。此链接显示如何添加src文件夹: