spring-boot 构建的应用用传统的方式打包会报
java.lang.NoClassDefFoundError: org/springframework/boot/CommandLineRunner
错误,应该加入spring-boot-maven-plugin .
如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.ams.Application</mainClass>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
<classesDirectory>
</classesDirectory>
</configuration>
</plugin>
</plugins>
</build>
在pom里面添加后 直接 mvn clean package 就搞定.
java -jar u.jar
如果不是spring-boot 这个也可以用
一、依赖项的处理
java application运行时需要查找依赖的第三方jar,如果查找classpath失败,就会报错,可以先用
mvn dependency:copy-dependencies -DoutputDirectory=target/lib
命令,把依赖的jar包全部导出到target/lib这个目录下
二、利用maven-jar-plugin修改META-INF\MANIFEST.MF 清单文件
java application的最终jar里,用解压工具打开后,可以看到META-INF目录下,有一个重要的清单文件 MANIFEST.MF,这里面可以指定 Main-Class及classpath,结构如下:
复制代码
1 Manifest-Version: 1.0
2 Built-By: jimmy
3 Build-Jdk: 1.7.0_09
4 Class-Path: lib/DataEntity-1.0.jar ...
5 Created-By: Apache Maven 3.2.3
6 Main-Class: ctas.importer.reader.app.Program
7 Archiver-Version: Plexus Archiver
复制代码
其中第4行指定了classpath,也就是所依赖的jar包在什么地方,第6行表示main函数的入口类,默认情况下mvn clean package生成的jar包里,清单文件上并没有这2行,需要在pom.xml中添加插件
按 Ctrl+C 复制代码
按 Ctrl+C 复制代码
第7行指定Main-Class,第9行指定classpath的相对路径,这样mvn package后,清单文件里就会自动添加Main-Class和Class-Path这二项
ok了,部署时把jar包和lib目录,都上传到服务器上 ,然后测试一下,顺利的话 java -jar xxx.jar就可以了
相关推荐
ssm项目构建的jar包大全,包含Spring,SpringMVC,Mybatis三个框架整合的jar包。
jar共享gradle-aspectj-1.6,maven构建gradle的jar,maven构建gradle的jar,maven构建gradle的jar。
Mybatis基础项目构建所需jar包 所需最基本的jar
主要介绍了maven的三种工程pom、jar、war的区别,详细的介绍pom、jar、war和区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
weibo4j-oauth2-2.1.1-beta3.1.1.jar(已使用IDEA将weibo4j-oauth2-beta3.1.1-master.zip构建成jar与jar源码(未修改))
主要包括的库文件有:commons-beanutils-1.7.0.jar,commons-fileupload-1.2.2.jar,commons-io-2.0.1.jar,commons-...这个是构建struts2要导入的最基本库文件,若需要更多功能的话,可能需要导入更多指定的jar包。
(另外,实际操作的时候发现JSTL1.2.jar和JSTL1.1.jar这2个包放一起可以在tomcat5.5和tomcat6.0上跑,鉴于JSTL1.1.jar里面没有c.tld等文件,猜测JSTL1.1.jar里面只是放置了1.1的专用的类和信息)
SBT ivy2 scala构建工具jar包 scala 构建工具 sbt
JDBC Driver for SQL Server: msbase.jar,mssqlserver.jar,msutil.jar
包含 bson-3.9.1.jar、 mongodb-driver-3.9.1.jar 、 mongodb-driver-core-3.9.1.jar
javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar ...
javaee.jar,jsf-api.jar,jsf-impl.jar,jstl-1.2.jar
学习构建SSM框架(SpringMVC+Spring+Mybatis)需要的jar包,下载就可以直接使用
serializer.jar、xalan.jar、xercesImpl.jar和xml-apis.jar Provider org.apache.xalan.processor.Transforme
cpdetector jar包 cpdetector jar包 cpdetector jar包
postgresql驱动jar包 用于连接postgres数据库 PostgreSQL是一种流行的开源关系型数据库系统,可以与...一般来说,您可以将驱动程序jar包复制到您的项目的lib目录下,并在构建配置文件或IDE设置中指定该jar包为依赖项。
db2 数据库驱动jar包 db2java.jar,db2jcc.jar,db2_license_cu.jar
java -jar baksmali-2.0.3.jar -x android.odex java -jar smali-2.0.3.jar out -o classes.dex /////////// android 合并apk和odex文件 前提:正确安装JDK和配置环境变量 需要这个apk所在的rom里面的一些jar...
Maven 构建 Kettle 时所需的部分jar包,具体构建操作请参考 http://blog.csdn.net/dongyuan234/article/details/78293699
有RDF API和OWL API,SPARQL检索语句,SDB存储等,用于语义网构建、推理、检索.