Java的“需要协助”设置代理设置(JVM启动器)

时间:2018-10-08 06:52:18

标签: java proxy jvm pentaho-spoon pentaho-data-integration

我是Java编程的初学者,我做了很多研究,但仍需要帮助。我正在尝试将代理设置添加到我的JVM Launcher中,但是我不知道该怎么做。

我已阅读对其他问题的回答,指出可以使用以下命令在CMD中完成

java -Djava.net.useSystemProxies = true

OR

java -Dhttp.proxyHost =主机-Dhttp.proxyPort =端口-Dhttp.proxyUser =用户名  -Dhttp.proxyPassword =密码

但是我需要以Java类或.Jar文件结尾。问题是我不知道应用程序正在运行的类或.jar文件。我需要对Pentaho Data Integration(PDI)执行此操作,并且它在Javaw.exe上运行,这是我所知道的全部。

我还看到其他响应,人们使用eclipse在Java中进行了编码,以添加代理设置,我需要走那条路线吗?

基本上,我试图使用PDI连接到Salesforce,但是我的公司代理设置阻止了我。 PDI在Java之外运行,因此我需要在Java中设置代理设置,但不知道从哪里开始。

我们非常感谢您的协助。谢谢。


java.lang.Exception: 连接到Salesforce时出错! 无法将请求发送到https://test.salesforce.com/services/Soap/u/37.0

at org.pentaho.di.ui.trans.steps.salesforce.SalesforceStepDialog.test(SalesforceStepDialog.java:97)
at org.pentaho.di.ui.trans.steps.salesforceupsert.SalesforceUpsertDialog.access$1700(SalesforceUpsertDialog.java:87)
at org.pentaho.di.ui.trans.steps.salesforceupsert.SalesforceUpsertDialog$10.handleEvent(SalesforceUpsertDialog.java:679)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.pentaho.di.ui.trans.steps.salesforceupsert.SalesforceUpsertDialog.open(SalesforceUpsertDialog.java:723)
at org.pentaho.di.ui.spoon.delegates.SpoonStepsDelegate.editStep(SpoonStepsDelegate.java:127)
at org.pentaho.di.ui.spoon.Spoon.editStep(Spoon.java:8766)
at org.pentaho.di.ui.spoon.trans.TransGraph.editStep(TransGraph.java:3217)
at org.pentaho.di.ui.spoon.trans.TransGraph.mouseDoubleClick(TransGraph.java:783)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1366)
at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:8022)
at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9277)
at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:692)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

1 个答案:

答案 0 :(得分:0)

我在网上找到的答案表明,要通过代理运行PDI,必须通过启动PDI的批处理文件来完成,这就是我所找到的链接Spoon.bat,this。如果您的转换通过CMD运行,并使用.KJB,则需要将此参数添加到Kitchen.bat ...同样,如果通过CMD运行KTR,则需要将此参数添加到Pan.bat < / p>

编辑:

您的Spoon.bat中的设置行应该看起来像这样

  

-Dhttp.proxyHost = https://your.proxy -Dhttp.proxyPort =端口号-Dhttp.proxyUser =用户-Dhttp.proxyPassword =密码

所以整行应该是

  

set OPT =%OPT%%PENTAHO_DI_JAVA_OPTIONS%“ -Dhttps.protocols = TLSv1,TLSv1.1,TLSv1.2”“ -Djava.library.path =%LIBSPATH%”“ -DKETTLE_HOME =%KETTLE_HOME%”“- “ = {https://your.proxy -Dhttp.proxyPort =端口号-Dhttp.proxyUser =用户-Dhttp.proxyPassword =密码