b***i 发帖数: 3043 | 1 就是Reference,比如,项目B定义了class BC,项目A里面要用BC,就在java build
path里面加入。我在本地运行是可以的。
但是我需要在网上运行,A产生的war里面的class文件没有B,那么,这种情况是Eclipse
系统认为我最终的系统会分别把A和B的class/jar上传吗?我这个B不是网站的项目,所
以不会上传,那么如何让A编译时把B的代码都编译进来呢? |
g*****g 发帖数: 34805 | 2 You should have a maven like build system and define dependencies.
Eclipse
【在 b***i 的大作中提到】 : 就是Reference,比如,项目B定义了class BC,项目A里面要用BC,就在java build : path里面加入。我在本地运行是可以的。 : 但是我需要在网上运行,A产生的war里面的class文件没有B,那么,这种情况是Eclipse : 系统认为我最终的系统会分别把A和B的class/jar上传吗?我这个B不是网站的项目,所 : 以不会上传,那么如何让A编译时把B的代码都编译进来呢?
|
F****n 发帖数: 3271 | 3 If it is a web project, set it in Preference/Web Assembly
Eclipse
【在 b***i 的大作中提到】 : 就是Reference,比如,项目B定义了class BC,项目A里面要用BC,就在java build : path里面加入。我在本地运行是可以的。 : 但是我需要在网上运行,A产生的war里面的class文件没有B,那么,这种情况是Eclipse : 系统认为我最终的系统会分别把A和B的class/jar上传吗?我这个B不是网站的项目,所 : 以不会上传,那么如何让A编译时把B的代码都编译进来呢?
|
d****i 发帖数: 4809 | 4 这种情况比较典型。你如果要在A里面用B定义的class的话,应该把B和A共用的class分
开来,然后放在一个单独的jar包里面,然后在A的classpath里面加入这个class。一般
是放在WEB-INF/lib里面。
Eclipse
【在 b***i 的大作中提到】 : 就是Reference,比如,项目B定义了class BC,项目A里面要用BC,就在java build : path里面加入。我在本地运行是可以的。 : 但是我需要在网上运行,A产生的war里面的class文件没有B,那么,这种情况是Eclipse : 系统认为我最终的系统会分别把A和B的class/jar上传吗?我这个B不是网站的项目,所 : 以不会上传,那么如何让A编译时把B的代码都编译进来呢?
|
b***i 发帖数: 3043 | 5 谢谢各位,今天在StackOverflow上看到一个人很久以前的办法,用Property里面Java
Build Path的Source标签,Link Source按钮,可以不用编译成jar或者复制代码就可以
利用其他项目的代码。我觉得这个办法挺好的。 |
F****n 发帖数: 3271 | 6 This is not good because linked source will be part of your project's
archive (jar/war)
Java
【在 b***i 的大作中提到】 : 谢谢各位,今天在StackOverflow上看到一个人很久以前的办法,用Property里面Java : Build Path的Source标签,Link Source按钮,可以不用编译成jar或者复制代码就可以 : 利用其他项目的代码。我觉得这个办法挺好的。
|
b***i 发帖数: 3043 | 7 我要的就是这个效果,否则找不到class
【在 F****n 的大作中提到】 : This is not good because linked source will be part of your project's : archive (jar/war) : : Java
|
w**z 发帖数: 8232 | 8 不是你import的class 都要加到你的project里的。 看看Maven 或Gradle.
【在 b***i 的大作中提到】 : 我要的就是这个效果,否则找不到class
|
b***i 发帖数: 3043 | 9 我原文说得不是很清楚,因为本来就不知道这个需求叫什么。其实这种情况不算
reference,而是library。那么对于库来说,Source Link可以不用复制,不用编译,
相当于把原文件当作项目的一部分。相比,用Project那个标签,就实现动态库类似的
结果,就是说当库也存在于发布环境才能用。而我这个情况是库在发布环境原本是不存
在的。
【在 w**z 的大作中提到】 : 不是你import的class 都要加到你的project里的。 看看Maven 或Gradle.
|
g*****g 发帖数: 34805 | 10 只要你把库发布了,内部还是外部的dependency本来就没有区别。正常的做法是建立两
个项目,
分别发布。
【在 b***i 的大作中提到】 : 我原文说得不是很清楚,因为本来就不知道这个需求叫什么。其实这种情况不算 : reference,而是library。那么对于库来说,Source Link可以不用复制,不用编译, : 相当于把原文件当作项目的一部分。相比,用Project那个标签,就实现动态库类似的 : 结果,就是说当库也存在于发布环境才能用。而我这个情况是库在发布环境原本是不存 : 在的。
|
b***i 发帖数: 3043 | 11 一般有OS的情况是这样的,但是我现在用的是google app engine,不同项目没有共享
虚拟机文件系统的情况,所以得把代码放进编译结果里面。比如A用了库B, C也用了库
B,但是由于A和C存在于GAE生成的不同的网站里面,所以B得分别放在A和C的网站里。
如果同一个OS上既有A,也有C,那么把B放进去就是最正正常的做法。
其实我应该问,如何让一个项目include另一个项目,这个更贴切一些。
【在 g*****g 的大作中提到】 : 只要你把库发布了,内部还是外部的dependency本来就没有区别。正常的做法是建立两 : 个项目, : 分别发布。
|
w**z 发帖数: 8232 | 12 b 放到classpath 上就行了。 你那弄法,改了B库,还要重新编译a, c. 太麻烦。
【在 b***i 的大作中提到】 : 一般有OS的情况是这样的,但是我现在用的是google app engine,不同项目没有共享 : 虚拟机文件系统的情况,所以得把代码放进编译结果里面。比如A用了库B, C也用了库 : B,但是由于A和C存在于GAE生成的不同的网站里面,所以B得分别放在A和C的网站里。 : 如果同一个OS上既有A,也有C,那么把B放进去就是最正正常的做法。 : 其实我应该问,如何让一个项目include另一个项目,这个更贴切一些。
|
b***i 发帖数: 3043 | 13 改了b库,gae可不能只把b库上传,b库连GAE的项目都不是。因为GAE本身没有把操作系
统和文件系统暴露出来。要上传的只有最终的网站war。
【在 w**z 的大作中提到】 : b 放到classpath 上就行了。 你那弄法,改了B库,还要重新编译a, c. 太麻烦。
|