• Eclipse开发,编译,打包常见问题总结------持续更新


    在使用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插件编译

  • 相关阅读:
    spring boot 配置示例
    MyBatis 常用标签用法
    http请求头部常用参数
    CentOS7使用firewalld打开关闭防火墙与端口
    java8 base64
    MD5工具类
    各种远程登录工具
    MySql 常用命令
    spring-boot-mybaits 开启事务
    springboot 项目打包到 linux下无法 运行
  • 原文地址:https://www.cnblogs.com/happyliuyi/p/10824063.html
Copyright © 2020-2023  润新知