我希望将maven命令行参数传递给POM.xml,以便我可以将这些值用于建筑目的中的其他目的.
在我的 java 应用程序中,我使用提供的-Djavax.net.ssl.trustStore 系统属性运行,如下所示。
-Djavax.net.ssl.trustStore=/myapp/app.jks -Djavax.net.ssl.trustStorePassword=XXXXX -Djavax.net.ssl.trustStoreType=jks -Djavax.net.debug=ssl
Run Code Online (Sandbox Code Playgroud)
这是我的完整命令行:
$JAVA_HOME/bin/java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Xms512m -Xmx1024m -XX:MaxPermSize=192m -Djavax.net.ssl.trustStore=/myapp/app.jks -Djavax.net.ssl.keyStore=/myapp/app.jks -Djavax.net.ssl.trustStorePassword=XXXXX -Djavax.net.ssl.keyStorePassword=XXXXX -Dweblogic.security.SSL.ignoreHostnameVerification=true -Djavax.net.debug=ssl -Djavax.net.ssl.trustStoreType=jks -cp /Oracle/Middleware/Oracle_Home/wlserver/server/lib/wlfullclient.jar:/myapp/stand??alone/lib/asm-5.0.3.jar:/myapp/standalone/lib/castor-1.3.2-core.jar:/myapp/standa??lone/lib/myAPP_final.jar
Run Code Online (Sandbox Code Playgroud)
但是 java 没有使用来自自定义路径的自定义 keyStore 的证书。默认情况下$JAVA_HOME/lib/security/cacerts,我会遇到以下异常:
java.net.ConnectException: t3s://myapphost.com:7500: Destination 10.243.155.222, 7900 unreachable; nested exception is:
javax.net.ssl.SSLHandshakeException: General SSLEngine problem; No available router to destination
Run Code Online (Sandbox Code Playgroud)
当我导入并添加相同的证书时,$JAVA_HOME/lib/security/cacerts它没有给出任何异常。
我参考了这篇文章并尝试在其中配置相同的内容$JAVA_HOME/jre/lib/security/java.security并添加以下条目:
javax.net.ssl.trustStore=/myapp/app.jks
javax.net.ssl.trustStorePassword=XXXXX
javax.net.ssl.trustStoreType=jks
Run Code Online (Sandbox Code Playgroud)
我仍然面临同样的问题。
我的问题和问题是,为什么 java 总是使用 java 默认的 keyStore 位置:$JAVA_HOME/lib/security/cacerts尽管我已经使用以下方法提供并配置了我自己的自定义 keyStore:-Djavax.net.ssl.trustStore=/myapp/app.jks -Djavax.net.ssl.trustStorePassword=XXXXX -Djavax.net.ssl.trustStoreType=jks -Djavax.net.debug=ssl
如果我在默认的 java keyStore loation …
我正在尝试读取 Akka 中的外部conf/属性文件。我指的是这篇文章
我只有一项配置,我需要在 myappConfiguration.properties 中添加更多属性。我可以看到属性文件能够加载但无法读取配置。
myappConfiguration.properties内容如下。
myconf {
directory : "D:\\Git\\Java_Test_WS\\file.reader\\"
}
Run Code Online (Sandbox Code Playgroud)
我收到以下异常,异常清楚地说明了一些类型问题,但我不明白我应该写什么。
Exception in thread "main" com.typesafe.config.ConfigException$WrongType: myappConfiguration.properties: myconf has type STRING rather than OBJECT
at com.typesafe.config.impl.SimpleConfig.findKeyOrNull(SimpleConfig.java:159)
at com.typesafe.config.impl.SimpleConfig.findKey(SimpleConfig.java:145)
at com.typesafe.config.impl.SimpleConfig.findOrNull(SimpleConfig.java:172)
at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:184)
at com.typesafe.config.impl.SimpleConfig.find(SimpleConfig.java:189)
at com.typesafe.config.impl.SimpleConfig.getObject(SimpleConfig.java:258)
at com.typesafe.config.impl.SimpleConfig.getConfig(SimpleConfig.java:264)
at com.typesafe.config.impl.SimpleConfig.getConfig(SimpleConfig.java:37)
at com.myapp.file.reader.AkkaBaseEventReader.main(AkkaBaseEventReader.java:27)
Run Code Online (Sandbox Code Playgroud)
下面是我试图读取该配置条目的 Java 代码。我在第 27 行遇到异常,代码如下:
Config config = system.settings().config().getConfig("myconf.directory");
Run Code Online (Sandbox Code Playgroud)
完整代码:
public class AkkaBaseEventReader implements ApplicationConstant {
public static void main(String[] args) throws IOException {
System.setProperty("config.file","myappConfiguration.properties");
ActorSystem system = ActorSystemImpl.create("FileReaderForassignment");
final ActorRef reader = …Run Code Online (Sandbox Code Playgroud) 我目前正在使用com.google.gson api(使用gson-2.8.5版本)的JsonObject和JsonParser来解析和读取输入JSON的值。
我有 JSON 归档,例如 smaple,"resultCode":"SUCCESS",当我尝试从 json 读取相同的值时,它给出的结果为""SUCCESS"".
我正在阅读的每个值都带有双“”,不知道为什么?您可以参考我的调试屏幕的下面屏幕。
我是 Json 和解析器的新手,这是默认行为吗?
我期待"SUCCESS","S"不像
我
在下图中突出显示的"00000000"那样""SUCCESS""。""S""""00000000""
请分享我们如何获得字符串的绝对值而不使用“””双引号字符串的任何想法,它会导致我的字符串比较失败。
String response_result = "{\"response\": {\"head\": {\"function\": \"acquiring.order.create\",\"version\": \"2.0\",\"clientId\": \"201810300000\",\"reqMsgId\": \"56805892035\",\"respTime\": \"2019-09-13T13:18:08+08:00\"},\"body\": {\"resultInfo\": {\"resultCode\": \"SUCCESS\",\"resultCodeId\": \"00000000\",\"resultStatus\": S,\"resultMsg\": \"SUCCESS\"},\"acquirementId\": \"2018080834569894848930\",\"merchantTransId\": \"5683668701112717398\",\"checkoutUrl\": \"http://localhost:8081/crm/operator/operator-search-init.action\"}},\"signature\":\"d+TUYLvt1a491R1e6aO8i9VwXWzVhfNgnhD0Du74f4RgBQ==\"}";
HttpInvoker.Result result = i.new Result(200, response_result);
JsonObject jo = new JsonParser().parse(response_result).getAsJsonObject();
String resultCode = jo.get("response").getAsJsonObject().get("body").getAsJsonObject().get("resultInfo").getAsJsonObject().get("resultCode").toString();
String resultCodeId = jo.get("response").getAsJsonObject().get("body").getAsJsonObject().get("resultInfo").getAsJsonObject().get("resultCodeId").toString();
String resultStatus = jo.get("response").getAsJsonObject().get("body").getAsJsonObject().get("resultInfo").getAsJsonObject().get("resultStatus").toString();
String checkoutUrl = jo.get("response").getAsJsonObject().get("body").getAsJsonObject().get("checkoutUrl").toString();
if ( RESULT_CODE_GCASH_SUCCESS.equals(resultCode) …Run Code Online (Sandbox Code Playgroud)