发表于: 2020-07-24 22:15:22
1 1487
今天完成的事情;BUG
把Server 部署到了 服务器 ,结果无法执行 main 方法
找到以下解释:
xml创建一个jar文件,它只包含在项目中定义的类。但是应用程序所需的所有其他依赖项(spring-core、spring-上下文支持)都没有包括在内。。
如果您的应用程序是从CMD启动的,那么在类路径中找不到spring类,您将得到java.lang.NoClassDefFoundError。
当应用程序从CMD(类路径)启动时,可以手动命名所有需要的jar,但是创建一个所谓的自包含jar文件要容易得多,该文件已经包含了所有jar。这可以使用maven-assembly-plugin完成。
在这里可以找到一个如何创建自包含jar文件的示例。
自包含jar中的应用程序现在可以从CMD启动:
java -jar name_of_your_project-jar-with-dependencies.jar
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>com.run.ServerRun</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
执行之后
还是不行
然后找的解决方法,不同的打包方式
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.run.ServerRun</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
无法打包了
还没有解决,求助
明天计划的事情:解决问题
评论