使用Java 11时,JDK_JAVA_OPTIONS和JAVA_TOOL_OPTIONS之间的确切区别是什么?
它们似乎执行相同的操作,但是输出略有不同。这使我相信他们可能有不同的用例:
$ JDK_JAVA_OPTIONS="-Dstuff" java Foo
NOTE: Picked up JDK_JAVA_OPTIONS: -Dstuff
$ JDK_JAVA_OPTIONS="illegalStuff" java Foo
NOTE: Picked up JDK_JAVA_OPTIONS: illegalStuff
Error: Cannot specify main class in environment variable JDK_JAVA_OPTIONS
$ JAVA_TOOL_OPTIONS="-Dstuff" java Foo
Picked up JAVA_TOOL_OPTIONS: -Dstuff
$ JAVA_TOOL_OPTIONS="illegalStuff" java Foo
Picked up JAVA_TOOL_OPTIONS: illegalStuff
Unrecognized option: illegalStuff
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Run Code Online (Sandbox Code Playgroud)
我正在使用一个很小的测试程序:
public class Yo {
public static final void main(String[] …Run Code Online (Sandbox Code Playgroud) 我NameValuePair使用a lookupFunction(返回a Function)映射s 流,如下所示:
List<NameValuePair> paramPairs = getParamPairs();
List<NameValuePair> newParamPairs = paramPairs.stream()
.map((NameValuePair nvp) -> lookupFunction(nvp.getName()).apply(nvp))
.flatMap(Collection::stream)
.collect(toList());
Run Code Online (Sandbox Code Playgroud)
但是,如果lookupFunction返回了一个Collection<Function>,我希望对.map()每个返回的Functions 执行一次.我该怎么办?
我想在Eclipse中的类中添加断点,但我没有它的源代码.是否有可能在其中添加断点?在我的情况下,我真的只需要知道何时调用方法.
(作为旁注:有没有人有j2ee_api_1_3.jar的源代码?)
当我设置GRADLE_OPTS或者JAVA_OPTS,这些是为我的项目GradleWrapperMain运行时设置的./gradlew build.但是我也需要它们GradleWorkerMain.
我怎么做?
这ps是Gradle作业在Bamboo中运行时的列表.我JAVA_OPTS(如-Dcool.opt=1)缺少了GradleWorkerMain.
53854 ? Sl 2:13 /home/apps/jdk7/bin/java -Dorg.gradle.daemon=false -Dcool.opt=1 -Xms1g -Xmx8g -XX:PermSize=256m -XX:MaxPermSize=768m -Djava.security.egd=file:/dev/./urandom -Dorg.gradle.appname=gradlew -classpath /path/to/gradle/wrapper/gradle-wrapper.jar org.gradle.wrapper.GradleWrapperMain build
54272 ? Sl 0:19 /home/apps/jdk1.7.0_45/bin/java -Dfile.encoding=ISO-8859-1 -cp /path/to/lots/of/jars.jar org.gradle.process.internal.launcher.GradleWorkerMain
Run Code Online (Sandbox Code Playgroud) 我在Solr中有一个多值字段,并且想要查询此字段为空或包含特定值的文档.
正如预期的那样,如果moduleTest是活动配置文件,则不会加载此配置:
@Profile({"!moduleTest"})
@Configuration
public class UserConfig {
}
Run Code Online (Sandbox Code Playgroud)
但是,此配置将加载:
@Profile({"!moduleTest", "!featureTest"})
@Configuration
public class UserConfig {
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让一个配置无法加载,如果moduleTest 或是 featureTest活动的?
我Unable to load Java Runtime Environment在启动SQLWorkbenchJ.app时得到了。
我使用的是 macOS Catalina 10.15.2,我安装了带有brew cask install sqlworkbenchj. 我的 JDK 8 是使用brew install adoptopenjdk8.
我该如何解决这个问题?SQLWorkbench/J 不提供任何其他有用的消息,即使我open -a在终端中启动它也是如此。
我在Android中的媒体后端(主要是Stagefrightplayer)遇到了一些麻烦,我想了解它为什么会抛出错误.错误通常是设备特定的,因此在仿真器上进行调试是不够的.
例:
I/AwesomePlayer( 147): mConnectingDataSource->connect() returned -1004
V/MediaPlayerService( 147): [332] notify (0x272830, 100, 1, -1004)
E/MediaPlayer(24881): error (1, -1004)
E/MediaPlayer(24881): Error (1,-1004)
W/PlayerListener(24881): Received error: what = 1, extra = -1004
Run Code Online (Sandbox Code Playgroud)
例2:
E/MediaPlayer( 941): error (1, -2147483648)
Run Code Online (Sandbox Code Playgroud)
我也让玩家完全开玩笑并吐出了痕迹.txt.
有没有办法调试正在发生的事情,就像我调试Java代码一样?谢谢.
作为我在svn到git迁移后关于不可用分支的问题的后续跟踪,我有一个不同的问题:我无法将新分支推送到我的中央Git存储库.
$ git clone ssh://server/opt/git/our_app.git
$ cd our_app
$ git branch my-test-branch
$ git checkout my-test-branch
$ echo test > test.txt
$ git add test.txt
$ git commit test.txt -m "test commit"
[master ed81ec0] test commit
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 test.txt
$ git push
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)
所以,这不会将我的分支推送到服务器.一位同事建议我查看我的.git/config,看起来像这样:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://server/opt/git/our_app.git
[branch …Run Code Online (Sandbox Code Playgroud) 我的wsdl2java目标是cxf-codegen-plugin从WSDL生成Java。然后,在测试中,我使用JAXB.unmarshal()从原始Web服务XML结果中填充类。
一个典型的示例是GetAllResponseType response = unmarshal("get-all.xml", GetAllResponseType.class)使用以下方法:
<T> T unmarshal(String filename, Class<T> clazz) throws Exception {
InputStream body = getClass().getResourceAsStream(filename);
return javax.xml.bind.JAXB.unmarshal(body, clazz);
}
Run Code Online (Sandbox Code Playgroud)
问题是这样的:原始XML响应始终包含封闭的Envelope和Body标记,而这些标记不是由wsdl2java作为类生成的:
<n4:Envelope xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:n="http://www.informatica.com/wsdl/"
xmlns:n4="http://schemas.xmlsoap.org/soap/envelope/" xmlns:n5="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<n4:Body>
<n:getAllResponse xmlns:n="http://www.informatica.com/wsdl/">
<n:getAllResponseElement>
...
</n:getAllResponseElement>
</n:getAllResponse>
</n4:Body>
</n4:Envelope>
Run Code Online (Sandbox Code Playgroud)
因此,为了使用JAXB.unmarshal(),我必须
目前我做2,但是有很多代码:
<T> T unmarshal(String filename, Class<T> clazz) throws Exception {
InputStream is = getClass().getResourceAsStream(filename);
InputStream body = nodeContent(is, "n4:Body");
return javax.xml.bind.JAXB.unmarshal(body, clazz);
}
InputStream nodeContent(InputStream is, String …Run Code Online (Sandbox Code Playgroud)