小编neu*_*242的帖子

使用Java 11时,JDK_JAVA_OPTIONS和JAVA_TOOL_OPTIONS有什么区别?

使用Java 11时,JDK_JAVA_OPTIONSJAVA_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)

java jvm jvm-arguments java-11

9
推荐指数
2
解决办法
1354
查看次数

将函数列表应用于Java流的.map()方法

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 执行一次.我该怎么办?

java lambda functional-programming java-8 java-stream

8
推荐指数
1
解决办法
2604
查看次数

是否可以将断点添加到我没有源代码的类中?

我想在Eclipse中的类中添加断点,但我没有它的源代码.是否有可能在其中添加断点?在我的情况下,我真的只需要知道何时调用方法.

(作为旁注:有没有人有j2ee_api_1_3.jar的源代码?)

java eclipse debugging breakpoints

6
推荐指数
2
解决办法
3176
查看次数

如何为GradleWorkerMain设置JVM选项?

当我设置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)

java jvm bamboo gradle

6
推荐指数
1
解决办法
4670
查看次数

在Solr中搜索多值字段为空或具有特定值的文档

我在Solr中有一个多值字段,并且想要查询此字段为空或包含特定值的文档.

search solr multivalue

6
推荐指数
1
解决办法
893
查看次数

如果存在多个配置文件中的一个,请禁用Spring配置

正如预期的那样,如果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活动的?

profile configuration spring

6
推荐指数
2
解决办法
4086
查看次数

启动 SQLWorkbench/J 时“无法加载 Java 运行时环境”

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在终端中启动它也是如此。

java macos homebrew sql-workbench-j

6
推荐指数
1
解决办法
6405
查看次数

如何在真实设备上调试Android本机代码

我在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代码一样?谢谢.

c++ debugging android android-source android-music-player

5
推荐指数
1
解决办法
6244
查看次数

为什么在将新分支推送到我的Git存储库时遇到问题?

作为我在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)

git branch git-push git-clone

5
推荐指数
1
解决办法
1650
查看次数

为JAXB.unmarshal()提取XML节点的最简单方法是什么?

我的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(),我必须

  1. 在get-all.xml中手动剥离周围的Envelope / Body标签
  2. 或提取getAllResponse节点并将其重新转换为InputStream
  3. 或创建信封和身体类

目前我做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)

java cxf wsdl2java jaxb unmarshalling

5
推荐指数
1
解决办法
5827
查看次数