有时候我们只需要使用Maven工程里的依赖,因为很多第三方的SDK在集成Maven方面非常的方便。比如我们要定时任务启动一个Main方法等等情况。因为他不是服务端,所以需要使用maven相关依赖,我们可以认为工程是客户端(client)。
开发工具我们使用Idea。
正常情况下使用maven打的jar包是不包含项目所依赖得jar包的,所以通过:
java –cp xxx.st.MainClass
来运行jar包的时候会抛出:
Exception in thread “main” java.lang.NoClassDefFoundError
如果要把依赖包也一并打出来需要使用下面的方法。
打包并将依赖也一并打出来。
File--> New--> Project-->Maven-->devops
package demo;public class Cdn {public static void main(String[] args) {System.out.printf("test refesh cdn for aly");}
}
下面是关键点:
IDEA自动配置的路径是错误的,我们应该将其放置在项目的根路径:
然后我们开始一路OK,来到这个界面,我们选择 apply 进行应用。
Build --> Build Artifacts。
我们可以看到在根路径下生成了out文件夹,我们用jar启动测试。
D:java-rescdnoutartifactslib>java -jar sample.jar
[LOG] {"headers":{"access-control-allow-origin":"*","date":"Mon, 29 Nov 2021 14:29:09 GMT","content-length":"82","access-control-max-age":"
172800","x-acs-request-id":"626C193E-0D53-5EA3-AFAC-F1038ECB1A2A","access-control-allow-headers":"X-Requested-With, X-Sequence, _aop_secret
, _aop_signature, x-acs-action, x-acs-version, x-acs-date, Content-Type","connection":"keep-alive","content-type":"application/json;charset
u003dutf-8","access-control-allow-methods":"POST, GET, OPTIONS, PUT, DELETE","x-acs-trace-id":"5d4542d6eb8ede3a394f81cdb7367b25"},"body":{
"RequestId":"626C193E-0D53-5EA3-AFAC-F1038ECB1A2A","RefreshTaskId":"13670716436"}}
特别注意:
在指定的jar文件之前增加"lib",即刚才存放第三方Jar文件的新建目录的名称。
如果要打成linux的包,路径应改为"lib/";
验证: 在命令行中跳转到输出目录中,以"java -jar 生成的jar包名称.jar" 即可实现运行
请参阅我的另外一篇博文: Spring boot 无端口模式启动以及使用场景_叱咤少帅的博客-CSDN博客
本文发布于:2024-02-05 06:16:26,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170726041363757.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |