b***i 发帖数: 3043 | 1 项目用到一个第三方库,挺大的.所以想生产两种jar文件,一种是正式的发行版,包含
第三方库,一种简易版,我自己写一个替代的第三方库里面的接口的文件,什么也不做
,功能消减但是可以编译通过。这样再写一个project,里面实现需要的第三方库的函数
,在eclipse里面改project property里面的Required Projects on Build Path。我的
做法行吗?
java大牛都是如何做这件事情呢?象C++就可以在编译的时候加选项就可以了,然后通
过ifdef来调整什么样的函数被编译,源代码都可以不变的,象win32和linux可以同样的
源码。 |
g*****g 发帖数: 34805 | 2 First of all, most of the time you don't put 3rd party libs into
your own jar. You leave them and put all of them in the classpath.
Now if you really want to do it, you should use something like Ant
or Maven that you can have different targets.
【在 b***i 的大作中提到】 : 项目用到一个第三方库,挺大的.所以想生产两种jar文件,一种是正式的发行版,包含 : 第三方库,一种简易版,我自己写一个替代的第三方库里面的接口的文件,什么也不做 : ,功能消减但是可以编译通过。这样再写一个project,里面实现需要的第三方库的函数 : ,在eclipse里面改project property里面的Required Projects on Build Path。我的 : 做法行吗? : java大牛都是如何做这件事情呢?象C++就可以在编译的时候加选项就可以了,然后通 : 过ifdef来调整什么样的函数被编译,源代码都可以不变的,象win32和linux可以同样的 : 源码。
|
b***i 发帖数: 3043 | 3 明白,谢了。假设第三方库是独立的jar,那么我替代的那一部分也就是一个独立的jar
喽。两个互替的库的名字应该都一样,这个方案确实很简洁。
我倒是一直在用Eclipse,因为程序就是java core,不涉及web。看来得学新的工具了。
【在 g*****g 的大作中提到】 : First of all, most of the time you don't put 3rd party libs into : your own jar. You leave them and put all of them in the classpath. : Now if you really want to do it, you should use something like Ant : or Maven that you can have different targets.
|
m****r 发帖数: 6639 | 4 虽然我确实没有看懂, 但是我真的喝多了.
jar
了。
【在 b***i 的大作中提到】 : 明白,谢了。假设第三方库是独立的jar,那么我替代的那一部分也就是一个独立的jar : 喽。两个互替的库的名字应该都一样,这个方案确实很简洁。 : 我倒是一直在用Eclipse,因为程序就是java core,不涉及web。看来得学新的工具了。
|
m*****j 发帖数: 499 | 5 不是太明白为什么要那个简易版的jar啊?因为每次run都用那个完整版的第三方jar太费
时间吗?
jar
了。
【在 b***i 的大作中提到】 : 明白,谢了。假设第三方库是独立的jar,那么我替代的那一部分也就是一个独立的jar : 喽。两个互替的库的名字应该都一样,这个方案确实很简洁。 : 我倒是一直在用Eclipse,因为程序就是java core,不涉及web。看来得学新的工具了。
|
J*******n 发帖数: 2901 | 6 在Eclipse里面创建两个run configuration不行吗?一个用完整版一个用简易版 |
w****u 发帖数: 3147 | |
J*******n 发帖数: 2901 | 8 可能是最后打包的时候可以减小一些size吧,我原来做过一个项目要求war size不能超
过20MB
【在 w****u 的大作中提到】 : 那个简易版到底是为了做啥啊
|
b***i 发帖数: 3043 | 9 对大多数用户而言,某项功能没用,但是此库巨大。而少数(<0.1%)用户需要这个库。
如果我要从import我自己写的库,改为import第三方的库,程序源码是要改的。我想问
的就是是否可以不改源码。
今晚试试把两个库的package设一样,但是不同目录,在eclipse里面config下
【在 J*******n 的大作中提到】 : 可能是最后打包的时候可以减小一些size吧,我原来做过一个项目要求war size不能超 : 过20MB
|
b***i 发帖数: 3043 | 10 验证了,就另写一个自己的库,package完全一样,主程序需要import的都一样,跟C++
dll替换一个思路。在property里面替换project就可以了。谢谢各位。
【在 b***i 的大作中提到】 : 对大多数用户而言,某项功能没用,但是此库巨大。而少数(<0.1%)用户需要这个库。 : 如果我要从import我自己写的库,改为import第三方的库,程序源码是要改的。我想问 : 的就是是否可以不改源码。 : 今晚试试把两个库的package设一样,但是不同目录,在eclipse里面config下
|