小编ban*_*lit的帖子

Gradle,rt.jar访问限制

我正在使用Gradle构建,其中包含:

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'

repositories {
  flatDir { dirs "${System.env.JAVA_HOME}/jre/lib" }
}

dependencies {
  compile name: 'rt' 
}
Run Code Online (Sandbox Code Playgroud)

它构建,这很棒,但是eclipse插件让我在rt.jar类上遇到困难:

访问限制:由于对所需库的限制,无法访问XMLSerializer类型/usr/local/apps/jdk1.8.0_11/jre/lib/rt.jar

我明白了

现在我知道你会告诉我不要使用那些课程.但你知道它是怎么回事,我正在研究一个古老的项目,我现在只需要让它工作.

我的第一个问题是:限制信息位于何处?

显然:我怎么能绕过那个?我想把它作为神器上传到我的Nexus仓库,还有什么比这更容易的?

java gradle gradle-eclipse

11
推荐指数
1
解决办法
3174
查看次数

d3.js v4 d3.layout.tree已被删除?

升级到d3.js v4.1.1后,此行:

d3.layout.tree()
Run Code Online (Sandbox Code Playgroud)

产生错误:

Cannot read property 'tree' of undefined
Run Code Online (Sandbox Code Playgroud)

看起来树形布局已从v4中删除了?https://github.com/d3/d3/blob/master/API.md

这些示例仍然使用v3 API:http: //bl.ocks.org/mbostock/1093025

布局真的消失了还是重命名了?

d3.js

10
推荐指数
1
解决办法
1万
查看次数

如何刷新Log4J2中的异步记录器(带有disruptor)

我通过设置使用Log4J2"使所有记录器异步"部分:

-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector.
Run Code Online (Sandbox Code Playgroud)

https://logging.apache.org/log4j/2.x/manual/async.html

我处理了很多日志,然后在退出之前停止了appender:

org.apache.logging.log4j.core.Logger coreLogger = (org.apache.logging.log4j.core.Logger) logger;
org.apache.logging.log4j.core.LoggerContext context = (org.apache.logging.log4j.core.LoggerContext) coreLogger.getContext();
Map<String, Appender> appenders = context.getConfiguration().getAppenders();
for (Appender appender : appenders.values()) {
  appender.stop();
}
Run Code Online (Sandbox Code Playgroud)

通过这样做,我希望它将刷新异步appender并在退出程序之前将剩余的日志写入磁盘.

但这是发生的事情:

2015-05-19 14:09:58,540 ERROR Attempted to append to non-started appender myFileAppender
Exception in thread "AsyncLogger-1" java.lang.RuntimeException: org.apache.logging.log4j.core.appender.AppenderLoggingException: Attempted to append to non-started appender myFileAppender
    at com.lmax.disruptor.FatalExceptionHandler.handleEventException(FatalExceptionHandler.java:45)
    at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:147)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.logging.log4j.core.appender.AppenderLoggingException: Attempted to append to non-started appender myFileAppender
    at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:89)
    at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:430)
    at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:409)
    at org.apache.logging.log4j.core.Logger$PrivateConfig.logEvent(Logger.java:288) …
Run Code Online (Sandbox Code Playgroud)

java configuration logging asynchronous log4j2

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

Gradle incremental java编译导致完全重新编译

我只更改了一个源文件并重新启动了构建:

$ gradle jar
Incremental java compilation is an incubating feature.
:compileJava
Full recompilation is required because 'XXX.java' was changed.
Analysis took 0.241 secs.
Run Code Online (Sandbox Code Playgroud)

我的gradle配置有:

compileJava {
  options.fork = true
  options.incremental = true
}
Run Code Online (Sandbox Code Playgroud)

我希望Gradle只重新编译XXX.java,它不是应该做的吗?

gradle javacompiler

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

Java - 用于Windows的getOpenFileDescriptorCount

如何在Windows下获取打开的文件描述符的数量?

在unix上有这样的:

UnixOperatingSystemMXBean.getOpenFileDescriptorCount()
Run Code Online (Sandbox Code Playgroud)

但似乎没有相同的窗口?

java file-descriptor

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

Maven + JDK9模块:无法解析模块信息

使用9-ea + 171,Maven 3.5.0

我正在用这个module-info.java编译一个项目:

module org.project {
}
Run Code Online (Sandbox Code Playgroud)

但它失败了一个神秘的错误:

[ERROR] Failed to parse module-info:
[ERROR] With qdox: null
(...)
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:testCompile (default-testCompile) on project rli-stubs: Execution default-testCompile of goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:testCompile failed: Failed to parse module-info -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:testCompile (default-testCompile) on project rli-stubs: Execution default-testCompile of goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:testCompile failed: Failed to parse module-info
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
at …
Run Code Online (Sandbox Code Playgroud)

java maven-3 java-9

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

JAVA从服务器推送到客户端

我想让客户端通过服务器相互查询而没有延迟(=没有轮询间隔).

示例:服务器S,客户端A和B.

客户端A想要请求客户端B.客户端A将向服务器S发出请求,没有问题.然后,服务器S需要能够请求客户端B,但如何在没有轮询的情况下执行此操作?

所有node.js/APE(用于PHP)技术都是为Web设计的,但我没有使用Web服务器.Java是否有接近推送技术/框架的东西,而不是网络?

我真的更喜欢不需要每个客户端使用自己的保留端口的解决方案(例如,我不希望每个客户端最终使用1个WebService)

注意:所有客户端都在同一台计算机上.

java client-server push duplex

4
推荐指数
1
解决办法
7856
查看次数

Observable终于没有被解雇了

这有效:

this.http.get('/doesntexist1')
  .finally(() => console.log('finally1'))
  .subscribe(() => { });
Run Code Online (Sandbox Code Playgroud)

但这不是:

const obs = this.http.get('/doesntexist2');
obs.finally(() => console.log('finally2'))
obs.subscribe(() => { });
Run Code Online (Sandbox Code Playgroud)

两个URL都产生404.

我跑两个,我只看到控制台中显示"finally1",任何想法为什么?

rxjs angular2-http

3
推荐指数
1
解决办法
1435
查看次数

javascript regexp exec不一致

我在执行相同的正则表达式匹配多次时看到一种奇怪的行为:

var r = /(.*)/g
var d = "a"

console.log(r.exec(d))
console.log(r.exec(d))
Run Code Online (Sandbox Code Playgroud)

这会产生:

["a", "a"]
["", ""]
Run Code Online (Sandbox Code Playgroud)

为什么第二次没有匹配任何东西?

javascript regex

2
推荐指数
1
解决办法
134
查看次数

为什么Java EE版本与Java SE版本不匹配?

我的印象是Java SE 8的发布将与Java EE 8一起发布,但我无法在任何地方找到它.

它似乎将在稍后发布?https://en.wikipedia.org/wiki/Java_EE_version_history#Java_EE_8_.28JSRs_approved_on_22_Sep.2C_2014.2C_expected_Q3_2016_or_first_half_2017_Final_Release.29

所以2之间没有联系?Java SE 8仍然与Java EE 7一起使用?

java java-ee

2
推荐指数
1
解决办法
1874
查看次数

用于移动任何SVG元素的通用JS函数

考虑这个例子有2个圆圈(红色和蓝色):

<svg width="500px" height="500px">
  <circle cx="100" cy="50" r="40" fill="red" id="redcircle" />
  <g transform="translate(200,-20)">
    <g transform="scale(2)">
      <g transform="rotate(45)">
        <g transform="translate(5,10)">
          <circle cx="100" cy="50" r="40" fill="blue" id="bluecircle" />
        </g>
      </g>
    </g>
  </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法编写通用函数,如:

function move(selection){
  // ???
}
Run Code Online (Sandbox Code Playgroud)

这将允许写入move("#redcircle")或者move("#bluecircle")将目标元素100px可视地移动到右侧(例如).

javascript svg

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