java.lang.noClassDefFounderRorr:
所以我想,lib在jar中用于编译,但不能从主类“访问”。因此,我在pom中添加了maven-assembly-plugin来创建一个Uberjar。16分钟后失败,bountycastle包中没有错误消息。这似乎是一个普遍的问题。我去了maven-shade-plugin。这为我创建了一个uberJar(60MB),但spring无法启动,因为它找不到这些第三方库。我不知道为什么。
所以我想扔掉uberJar-Method,使用classpath-method,但我不知道怎么做。因此,对于我来说,部署一个uberJar还是一个带有类路径libs的jar都无关紧要。它只要跑就行了。但是uberJar会更好。
\root
- \libs
- \[companyname] <-- 3rd party libs
- \src
- \main
- \....
- pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
</parent>
<dependencies>
<!-- Libs from official repos -->
<dependency>
...
</dependency>
...
<!-- These 80+ secret 3rd party libs with no repo -->
<dependency>
<groupId>...</groupId>
<artifactId>...<artifactId>
<version>1.0.0.10</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/[companyname]/artifactName-1.0.0.10.jar</systemPath>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>libs/[companyname]/**</directory>
<filtering>true</filtering>
<includes>
<include>*.jar</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>my main class name / namespace</mainClass>
<layout>JAR</layout>
</configuration>
</plugin>
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<minimizeJar>false</minimizeJar>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.factories</resource>
</transformer>
</transformers>
</configuration>
</plugin>
-->
</plugins>
</build>
谢谢大家!
您是否考虑过设置内部maven存储库?最简单的方法是Apache Archival(https://archiva.Apache.org/index.cgi):
对于Apache Archival,您实际上可以手动将第三方库复制到maven存储库中。
在pom.xml中,必须添加以下内容:
<repositories>
<repository>
<id>internal</id>
<name>Archiva Managed Internal Repository</name>
<url>http://IP_ADDRESS:PORT/repository/internal/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
问题内容: 我想使用码头来启动我的应用程序,因此我添加了下面提到的依赖项。当我运行主要方法Jetty成功启动时(我正在一个struts2 + spring3 + hibernate maven项目中,我也可以将其部署在tomcat中) 现在,我想从war包装pom创建一个可执行jar。所以我在pom中添加了maven-assembly-plugin。(我尝试使用maven jar插件,但未添加依赖
我正在使用Liquibase(通过其Maven插件)来处理数据库迁移。 然而,并非所有Liquibase功能都可以通过Maven获得。特别是Generate Changelog,只能通过命令行(使用可下载的liquibase.jar)使用如下命令: 如何通过Maven可移植地执行此命令?也就是说,我不想将liquibase.jar文件添加到我的项目结构中。 相反,我想将其列为一个依赖项(我可以手动
我想做的是: 使用gradle和eclipse作为IDE创建可执行Jar。Jar应该包含运行所需的所有库,并且可以在docker容器中使用。 迄今为止的问题: org.springframework.boot不包含在Jar中。 代码: src/main/java/SampleController。JAVA 建筑格拉德尔 使用的命令: 在工作区/项目/构建/库中 java-jar项目。罐子 错误:
问题内容: 我试图使用maven为名为“ logmanager”的小型家庭项目生成可执行jar,如下所示: 如何使用Maven创建具有依赖项的可执行JAR? 我将此处显示的代码段添加到pom.xml中,并运行了mvn assembly:assembly。它在logmanager / target中生成两个jar文件:logmanager-0.1.0.jar和logmanager-0.1.0-jar
问题内容: 我有一个Maven项目,我想从中创建两个可执行的jar文件。一个将与用户交互使用,第二个将作为计划作业运行,读取前者生成的日志文件。最后,除了MANIFEST.MF文件中的Main- Class属性外,我希望两个jar文件都相同。 我正在使用maven-antrun- plugin创建一个可执行jar,在我尝试通过引入Maven配置文件尝试创建第二个jar文件之前,这似乎工作得很好。我
我试图用scala和Maven创建可执行jar。我正在使用maven-scala-plugin和maven-assembly-plugin,但在我看来,汇编插件被忽略了。我得到没有依赖项的jar和包含没有主类行的manifest。