我正在看Yahoo的YUI压缩器可执行jar,他们有这个类,从Manifest文件链接为"Main-Class":
package com.yahoo.platform.yui.compressor;
import java.lang.reflect.Method;
public class Bootstrap {
public static void main(String args[]) throws Exception {
ClassLoader loader = new JarClassLoader();
Thread.currentThread().setContextClassLoader(loader);
Class c = loader.loadClass(YUICompressor.class.getName());
Method main = c.getMethod("main", new Class[]{String[].class});
main.invoke(null, new Object[]{args});
}
}
Run Code Online (Sandbox Code Playgroud)
这对我来说看起来像一个无用的包装.为什么不直接把它YUICompressor作为主类呢?这样做有什么理由吗?
谢谢.
我已经制作了一个程序来帮助我解决一些问题,但每次我需要它时,我都会打开Eclipse并运行它.
是否可以创建可执行文件,因此我不需要每次都打开Eclipse?我使用的命令基本上是System.out.println()和Scanner来读取我输入的内容.
我有一个Java项目,我不想在Gnu许可下发布.(麻省理工学院,但没关系.)
作为构建管理工具,我使用Maven,它生成一个"jar-with-dependencies".该项目依赖于gnu.getopt,根据LGPL 2许可.
所以我的问题是:
我不
我想分发我的*.jar文件.我的意思是我的应用程序使用,但我不希望用户或任何人提取我的资源(声音,图片和其他).
如何保护它?
谢谢
我正在使用 JDeveloper 11g 开发桌面应用程序。我想制作可在java环境中运行的整个项目jar..如果我只使用标准Java库jar工作正常,但我的项目包含外部库,如JfreeChart、Comm、Hibernate3等...当我尝试制作jar时它显示错误如何使我的项目的整个 jar 以及外部库的。
谢谢
我听说你可以使用Process或使用ClassLoaders运行其他java文件.
我有一个可执行jar'test.jar',主叫类叫Test.
我找到了一种使用Process运行的方法.我需要知道如何使用ClassLoaders.
Process p = Runtime.getRuntime().exec("java -jar test.jar");
BufferedInputStream bis = new BufferedInputStream(p.getInputStream());
synchronized (p) {
p.waitFor();
}
int b=0;
while((b=bis.read()) >0){
System.out.print((char)b);
}
Run Code Online (Sandbox Code Playgroud) 我有一个jar文件,我需要编辑一个特定的类并将其保存回jar文件中.我尝试了不同的反编译器,但我无法保存回jar.
我尝试使用Eclipse和JADCLIPSE进行反编译.通过使用它,我可以看到反编译的类文件,但我无法编辑它.有谁可以帮我解决这个问题?
我需要创建一个包含模块内部包中已编译类的 jar。我有一个 jar 文件,它实际上是模块内部的一个包,我需要重新创建它。
我可以创建整个模块的 jar,但无法创建包的 jar 文件。我怎样才能按照想法做到这一点?
我必须从 shell 脚本运行可执行 jar 文件来获取字符串值。可执行 jar 无法返回值,因为 main 返回 void。我不能使用 System.exit(int) 因为 jar 必须返回 String 类型的值。
请建议。
executable-jar ×10
java ×9
jar ×3
audio ×1
build ×1
classloader ×1
decompiler ×1
eclipse ×1
executable ×1
image ×1
jdeveloper ×1
lgpl ×1
licensing ×1
maven ×1
resources ×1
return-type ×1
return-value ×1
shell ×1