t*******t 发帖数: 105 | 1 我写了一个testclass叫做TestClass.java
package com.test1;
class TestClass{}
javac ....
然后建立如下文件夹:
com\test1\TestClass.class
然后
jar cvf d:\test1.jar d:\com\test1\*.*
得到一个包。
进入eclipse,随便找个class,再随便找个method
写:
TestClass tc = new TestClass();
提示说找不到,于是 project-》properties-》build path,添加test1.jar,
然后
import com.test1;
eclipse说找不到 com。test1.
我随后查看了。classpath文件,
其中有:
但是后来我把
com\test1\TestClass.class
直接拷贝到 src 文件夹,eclipse就找到了。
哪位大侠能解释一下吗?难道是我的jar file生成的 |
g*****g 发帖数: 34805 | 2 Shouldn't you do
import com.test1.*;
【在 t*******t 的大作中提到】 : 我写了一个testclass叫做TestClass.java : package com.test1; : class TestClass{} : javac .... : 然后建立如下文件夹: : com\test1\TestClass.class : 然后 : jar cvf d:\test1.jar d:\com\test1\*.* : 得到一个包。 : 进入eclipse,随便找个class,再随便找个method
|
t*******t 发帖数: 105 | 3 谢谢好虫。
我改成了 com.test1.*;
但是eclipse始终说com.test1找不到。
事实上如果我把class文件考入src文件以后,一旦我type com,eclipse会自己提示com
.test1.
【在 g*****g 的大作中提到】 : Shouldn't you do : import com.test1.*;
|
Z****e 发帖数: 2999 | 4 the problem is indeed with they way you created the jar
change your jar to a zip file and unzip it, a normal jar as created should
look like:
com\
test1\
Class1.class
Class2.class
...
META-INF\
MANIFEST.MF
I guess yours does not look like that, because you created the jar by
specifiy the absolute path instead of relative path. you should have created
the jar in the top of your source folder and use relative path, .e.g
jar cvf test.jar com\test1\*.*
Or, since you are using e
【在 t*******t 的大作中提到】 : 我写了一个testclass叫做TestClass.java : package com.test1; : class TestClass{} : javac .... : 然后建立如下文件夹: : com\test1\TestClass.class : 然后 : jar cvf d:\test1.jar d:\com\test1\*.* : 得到一个包。 : 进入eclipse,随便找个class,再随便找个method
|
h**j 发帖数: 2033 | 5 cd d:\
jar cvf d:\test1.jar com
这样在jar内的package path才对
【在 t*******t 的大作中提到】 : 我写了一个testclass叫做TestClass.java : package com.test1; : class TestClass{} : javac .... : 然后建立如下文件夹: : com\test1\TestClass.class : 然后 : jar cvf d:\test1.jar d:\com\test1\*.* : 得到一个包。 : 进入eclipse,随便找个class,再随便找个method
|
t*******t 发帖数: 105 | 6 刚才试了一下。。果然如此。
【在 h**j 的大作中提到】 : cd d:\ : jar cvf d:\test1.jar com : 这样在jar内的package path才对
|
t*******t 发帖数: 105 | 7 事实上我之前得到的jar里面的文件结构也是如此,但是之后用相对路径得到的文件结构
也是如此。。
难道jar还有别的什么隐藏文件?
【在 Z****e 的大作中提到】 : the problem is indeed with they way you created the jar : change your jar to a zip file and unzip it, a normal jar as created should : look like: : com\ : test1\ : Class1.class : Class2.class : ... : META-INF\ : MANIFEST.MF
|
Z****e 发帖数: 2999 | 8 when I use command like "jar cvf test.jar D:\com\test", the resulting jar
structure would be:
D_\
com\
test\
Class1.class
...
META-INF\
MANIFEST.MF
结构
【在 t*******t 的大作中提到】 : 事实上我之前得到的jar里面的文件结构也是如此,但是之后用相对路径得到的文件结构 : 也是如此。。 : 难道jar还有别的什么隐藏文件?
|
t*******t 发帖数: 105 | 9 谢谢指点,的确如此。
我在cygwin下面用unzip得到了和你一样的结果。
之前我一直用winrar,这个软件貌似自动优化了。。。
【在 Z****e 的大作中提到】 : when I use command like "jar cvf test.jar D:\com\test", the resulting jar : structure would be: : D_\ : com\ : test\ : Class1.class : ... : META-INF\ : MANIFEST.MF :
|
s*****n 发帖数: 169 | 10 change to public class TestClass() |