我想使用一个 Java 应用程序,它不是我编写的,也不再维护,这意味着我不能只是去找作者并要求一个新功能。我必须添加哪些选项来添加代理功能。是否可以添加一些 shell 参数?将代理的二进制代码直接添加到.class
文件中是否可以管理?我可以编写自己的类,从.class
文件中导入内容并覆盖网络功能吗?
问问题
55 次
3 回答
2
这可能对您有用:
java -Dhttp.proxyHost=IP_address -Dhttp.proxyPort=8080 -jar App.jar
于 2012-12-09T10:28:08.463 回答
2
可以通过创建一个具有相同名称/包的类并将其放在类路径中的较早位置以使其具有优先权,从而用您自己的实现替换一个类。但是,如果代码的其他部分使用此类,则不能破坏二进制兼容性。
还有一些检测 API 可用于在加载类时对其进行修改。请参阅仪器 API。
于 2012-12-09T10:30:04.217 回答
0
如果您正在创建自己的引用已编译的源文件.class
,那么在您的文件中尝试这样做:
java.util.Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost", PROXY_HOST);
systemProperties.setProperty("http.proxyPort", PROXY_PORT);
我认为这应该有效。
于 2012-12-09T11:24:40.350 回答