惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Schneier on Security
The Last Watchdog
The Last Watchdog
Cyberwarzone
Cyberwarzone
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cyber Attacks, Cyber Crime and Cyber Security
L
Lohrmann on Cybersecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
The Cloudflare Blog
V
V2EX
博客园_首页
博客园 - 聂微东
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
G
GRAHAM CLULEY
T
Tenable Blog
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
L
LINUX DO - 最新话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
SecWiki News
SecWiki News
博客园 - 三生石上(FineUI控件)
S
Secure Thoughts
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
T
Troy Hunt's Blog
博客园 - 【当耐特】
Forbes - Security
Forbes - Security
H
Hacker News: Front Page
A
About on SuperTechFans
B
Blog RSS Feed
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
D
DataBreaches.Net
P
Privacy & Cybersecurity Law Blog
Schneier on Security
Schneier on Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
D
Docker
P
Proofpoint News Feed

博客园 - happy刘艺

关于SKILL idea解压包安装问题解决 转载:java :: Java中的双冒号操作符 转:Git的使用--如何将本地项目上传到Github(两种简单、方便的方法) 转:springboot 与swagger整合出现Unable to infer base url.This is common when using dynamic的解决办法 转:Swagger2自动生成接口文档和Mock模拟数据 InfluxDB springboot application.properties文件加载顺序 maven surefire插件与testng spring-boot项目学习路径 collection 与stream与lambd表达式的结合使用 转:Java中Lambda表达式的使用 RPC之Thrift 介绍及java实例 class对象的getResource()方法 mysql查找包含某个字符串的记录 性能测试入门(零)测试前言 性能测试入门(八)jmeter--PerfMon(性能监控工具)插件安装与部署 jmeter--PerfMon(性能监控工具)插件使用详解 性能测试入门(七)jmeter分布式测试
Eclipse开发,编译,打包常见问题总结------持续更新
happy刘艺 · 2019-05-07 · via 博客园 - happy刘艺

在使用Eclipse开发,编译,打包常见问题如下:

1、  保证本地开发的客户端与服务端使用的jdk版本一致

2、  保证本地开发的客户端与服务端使用的依赖jar包版本一致(比如本地thrift 客户端使用的libthrift版本和服务端使用的libthrift使用的版本)。不要版本不兼容

3、  保证本地依赖的jar包版本之间不冲突(可以通过pom.xml的dependency hierarchy窗口查看依赖冲突;然后使用maven的打包工具maven-jar-plugin解决版本冲突)(引用jar包实际上是使用jar包内的class文件,如果多个jar包里都有com.test.study这个类,但是每个类的实现不同。就会导致混乱不知道引用哪一个。找不到指定类。)

4、  用Eclipse打可执行jar包时:launch configuration里经常会找不到我们要打包的工程。那是因为这个工程我们从来没有运行过。必须要编译运行通过一次,我们才可以在launch configuration里找到我们要打包的工程。如果工程中我们还依赖了第三方jar包,下面三个对应选型分别对第三方jar包做了处理。1)将依赖jar包的class文件提取出来和工程源码一起编译 ;2)将依赖jar包和工程一起打包(此时生成的manifest清单中classpath指定了依赖jar的查找路径就在当前可执行jar包的所在目录下 ) 3)将依赖jar包 单独打到一个子文件夹下比如mylib。这个文件夹和我们的可执行jar包在一个目录(此时生成的manifest清单中,classpath指定了依赖jar的查找路径就在当前可执行jar包的所在目录下的子文件夹里eg:mylib )。

       用maven 打jar包时:可以分别选择打包插件比如maven-jar-plugin(manifest中配置mainclass和classpath),maven-assembly-plugin或者maven-shade-plugin(将依赖包和工程打到一个包里)

!!!一定要弄清楚程序编译和运行时的classpath

5、 在编译和运行时,如果依赖某个资源文件resources。如果不是指定全路径来打开这个文件,则需要保证这个文件在编译和运行的(classpath)路径上。普通Java项目默认的classpath是src文件夹下的内容;如果想要某个文件夹下(eg:test_resources)的资源被自动程序自动搜索到,则需要将test_resources添加到Java build path中(右键properties>java build path>sources);maven 项目,默认的classpath是src/main/java 和 src/main/resourse目录。如果想把资源拷出来,则用maven-resource-plugins插件编译