Java SCON在创建jar时未拾取所有类文件
斯科斯是个新手。我正在使用它(版本2.0)创建一个jar,如下所示:Java SCON在创建jar时未拾取所有类文件,java,jar,scons,Java,Jar,Scons,斯科斯是个新手。我正在使用它(版本2.0)创建一个jar,如下所示: compiled_classes = env.Java \ (target = compiled_classes_dir, source = source_tld, JAVAVERSION='1.6', JAVACLASSPATH=['source_tld/libs/
compiled_classes = env.Java \
(target = compiled_classes_dir,
source = source_tld,
JAVAVERSION='1.6',
JAVACLASSPATH=['source_tld/libs/' +
file.name
for file in
Glob('source_tld/' +
'libs/*.jar')])
new_jar = env.Jar(target = jar_name,
source = compiled_classes_dir)
我看到了一个问题,即属于具有内部类的类的类文件(编译成类文件时,名称中有一个$
)没有得到正确处理,即它们没有包含在生成的JAR中。如有任何解决此问题的建议,将不胜感激。蒂亚
PS:添加
JAVAVERSION
的建议似乎没有帮助。因为SCons错误地计算了输出类,所以我建议采用这种解决方法
compiled_classes = env.Java \
(target = compiled_classes_dir,
source = source_tld,
JAVAVERSION='1.6',
JAVACLASSPATH=['source_tld/libs/' +
file.name
for file in
Glob('source_tld/' +
'libs/*.jar')])
#workaround to make sure classes are cleaned
env.Clean(compiled_classes, env.Dir(compiled_classes_dir))
# its important to set the JARCHDIR or the Jar command will not be run
# from the correct location if you want an executable Jar add the manifest here
new_jar = env.Jar(target = jar_name,
source = [compiled_classes_dir], JARCHDIR='$SOURCE')