小编Jon*_*nas的帖子

Java:JVM可用的核心?

在Java中,有的方法Runtime.getRuntime().availableProcessors()有以下Javadoc:

返回Java虚拟机可用的处理器数.在特定的虚拟机调用期间,此值可能会更改.

价值如何实际改变?在什么情况下,JVM可用的处理器比物理安装的处理器少?

乔纳斯

java jvm core processors

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

Socket.connect() 到 0.0.0.0:Windows 与 Mac

想象一下以下代码:

String hostName = "0.0.0.0";
int port = 10002;
int timeout = 5000;
Socket socket = new Socket();
socket.connect(new InetSocketAddress(hostName, port), timeout);
Run Code Online (Sandbox Code Playgroud)

在 Mac 上它工作正常并执行连接(即使端口 10002 上没有运行任何东西),在 Windows 上我得到以下异常:

java.net.SocketException: Permission denied: connect
Run Code Online (Sandbox Code Playgroud)

这里有什么区别,Windows 上的替代方案是什么?这用于单元测试。

问候

乔纳斯

java sockets ip-address connect

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

Grails:用logback替换log4j

我试图用我的Grails应用程序替换log4j并使用logback,但我总是得到一个

Embedded error: java.lang.reflect.InvocationTargetException
org.apache.log4j.LogManager
Run Code Online (Sandbox Code Playgroud)

在运行run-apptest-app时.

我在BuildConfig.groovy中包含了以下内容,我认为这就足够了:

inherits("global") {
    excludes "slf4j-log4j12"
}

[...]

dependencies {
    build 'ch.qos.logback:logback-core:0.9.29', 'ch.qos.logback:logback-classic:0.9.29'
    runtime 'ch.qos.logback:logback-core:0.9.29', 'ch.qos.logback:logback-classic:0.9.29'
}
Run Code Online (Sandbox Code Playgroud)

我找不到更多对Log4J的引用,也不知道这个调用来自哪里?!

我也尝试用1.6.2替换Grails slf 1.5.8并在控制台中获得以下内容尽管已从所有Grails模块中排除了slf:

SLF4J: The requested version 1.6 by your slf4j binding is not compatible with [1.5.5, 1.5.6, 1.5.7, 1.5.8]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助

问候

乔纳斯

grails logging log4j slf4j

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

Groovy:将XML元素从一个doc复制到另一个doc

我是Groovy的新手,我遇到了一个简单的问题.我想做的就是从一个XML文件中提取某些元素并用它创建一个新文件.这是一个示例XML,让我们使用Maven pom文件:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.group</groupId>
  <artifactId>artifact</artifactId>
  <version>1.4</version>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.2</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
 </dependencyManagement>
Run Code Online (Sandbox Code Playgroud)

我知道如何在Groovy中解析XML:

def project = new XmlParser().parse("pom.xml")
project.groupId.each{
  println it.text()
}
Run Code Online (Sandbox Code Playgroud)

我也知道如何在Groovy中创建XML:

def xml = new groovy.xml.MarkupBuilder()
xml.project (){
  modelVersion("artifactId")
  groupId("com.group")
  artifactId("artifact")
}
Run Code Online (Sandbox Code Playgroud)

但是,我似乎把这两者结合起来有问题.例如,我想要使用groupId,artifactId和整个依赖树,并从中创建一个新的XML.它不是那么难,我想利用Groovy的简单性.

沿着这些方向的东西(当然这不起作用):

def newXml= new groovy.xml.MarkupBuilder()
newXml.groupId= project.groupId
newXml.dependencies = project.dependencyManagement.dependencies
Run Code Online (Sandbox Code Playgroud)

谢谢.该代码有很多帮助,但我如何处理命名空间,即输入中的项目标记如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
Run Code Online (Sandbox Code Playgroud)

然后它会在输出中添加一些奇怪的注释.我想要的只是输出中的项目标签也是如此.

xml groovy markupbuilder xml-parsing

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

Grails 2.0:找不到名称[window]的模块

我正在使用Grails 2.0中的jQuery和Resources插件,我的布局如下:

    <g:javascript library="jquery" />
    <r:layoutResources/>
Run Code Online (Sandbox Code Playgroud)

使用该布局单击视图中的链接时,我在控制台中收到以下错误:

No module found with name [window]
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

谢谢

乔纳斯

grails layout grails-2.0

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

Grails 2.0:为图像资源使用变量

我传递一个变量logo,其中包含从我的控制器到GSP的图像文件的文件名,然后我尝试显示如下图像:

<img src="${resource(dir:'images',file:"${logo}")}" alt="Logo" border="0" />
Run Code Online (Sandbox Code Playgroud)

即使变量logo包含正确的值,我也会收到Unclosed GSP expression错误:

java.lang.RuntimeException: Error initializing GroovyPageView
at org.grails.plugin.resource.DevModeSanityFilter.doFilter(DevModeSanityFilter.groovy:26) ~[plugin-classes/:na]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_26]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_26]
at java.lang.Thread.run(Thread.java:662) [na:1.6.0_26]
Caused by: org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException: Unclosed GSP expression
... 4 common frames omitted
Run Code Online (Sandbox Code Playgroud)

替换${logo}文件名有效.

我究竟做错了什么?

非常感谢

乔纳斯

grails resources image gsp

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

Grails 1.4 vs. 2.0

我经常在论坛上阅读Grails 1.4版,看起来Grails从1.3.7升到2.0.是1.4初始版本计划然后他们决定称之为2.0?

只是好奇...

问候

乔纳斯

grails version grails-2.0

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