发表于: 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>

无法打包了

还没有解决,求助

明天计划的事情:解决问题




返回列表 返回列表
评论

    分享到