码迷,mamicode.com
首页 > 其他好文 > 详细

jar打包遇到的一些问题

时间:2014-05-21 21:27:15      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:des   android   style   blog   class   c   

如果用Eclipse打包将会是一件非常方便的事,不过开发过程中jar包不允许用Eclipse来生成,因为需要把这步操作放在Makefile,于是只能用命令了,自己写了个脚本去实现这些操作,记录下遇到的问题。

1. 因为长期使用Eclipse来导出jar包以至于都不知道使用什么命令以及步骤去实现,打包其实就需要两个命令,一个是javac(因为没有Eclipse帮忙把java文件生成class文件了)另一个就是jar了。

1.1 Eclipse生成jar包的步骤也顺便写一下:1)File -> Export -> Java(JAR file) -> Next -> 仅仅需要你需要打包的java文件,其他的不要勾选,默认是全选的。Select the export destination指定下路径和目录就好了

2. java的一些命令有---直接截图

bubuko.com,布布扣

不过好像我都不怎么用到,一般都是直接javac javaFile,要是想归类就加个-d,因为当前目录的所有文件都需要变为为class文件于是乎我就直接javac *。

2.1 javac cannot find symbol的问题,这样的问题一般是依赖问题,所有需要javac file1 file2 file3 ...如果编译的过程中出现找不到Android的类比如SurfaceView,Content,Activity等这些那是因为没有吧android.jar包含到你的环境变量CLASSPATH中去,你可以javac的时候使用-cp或者-classpath来指定这个路径,如果你不仅仅包含了Android的这些class,比如用到egl的类,我还包含了这个包“javax.microedition.khronos.egl.EGL10”所有还需要把javax.el_2.2.0.v201108011116.jar包含进CLASSPATH中去,当我找到javax.el_2.2.0.v201108011116.jar包的时候发现当前目录还有很多这样的包,为了防止我以后需要用到还需要慢慢包含,就直接指定那个目录然后应该是这样的以jdk1.7为例“Java\jdk1.7.0_51\lib\missioncontrol\plugins\*.jar”。

2.2 使用或覆盖了已过时的api的问题,这个问题是因为你的java文件里面包含了已经“deprecated”的API,把这些替换或者使用@SuppressWarnings("deprecation")这样的形式

2.3 javac:无效的标记 xxx.class,关于这个警告的原因我也不知道,不过我把把用Eclipse打包的jar包jar -xf xx.jar解压出来发现警告的那个class文件同样存在,大小也是一样的,我测试这些生成的class文件也没有问题,所有觉得这个警告是可以忽略的,什么时候有时间想起来了才来解决这个问题。

3. jar的一些命令有---截图

bubuko.com,布布扣

关于这命令感觉需要注意的是解压的时候也要加-f,不需要指定名字,会直接解压到当前目录。打包的时候因为是直接把整个目录打包进去的所有需要-C,需要注意的是因为直接把src目录下的这目录直接打包了,要不jni编程的时候找不到这个路径的写法和截图的示例2一样的。

bubuko.com,布布扣
bubuko.com,布布扣

jar打包遇到的一些问题,布布扣,bubuko.com

jar打包遇到的一些问题

标签:des   android   style   blog   class   c   

原文地址:http://www.cnblogs.com/liu--liang/p/3739322.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!