我有一个混合 Java 和 Groovy 代码的代码库。对于 Groovy 代码中的迭代,我们倾向于使用闭包:
String[] strings = ["First", "Second", "Third"]
strings.each { string ->
println string
}
Run Code Online (Sandbox Code Playgroud)
当我通过一次步进一行在 IntelliJ IDEA (v. 11) 中调试它时,在strings.each()(即println string)中执行的代码被步进。我可以println在行上放置一个断点,然后我就可以调试它,但这是一个很好避免的解决方法。
有没有办法配置 intelliJ 不跳过 Groovy 闭包?File->Settings->Debugger->Groovy中没有适用的选项。
编辑:
澄清我希望 IntelliJ 做什么:
假设我有一个像这样的 Java 风格迭代:
for (String string : strings) {
println string
}
Run Code Online (Sandbox Code Playgroud)
如果我使用“Step over”,调试器会毫无问题地进入迭代。我可以继续“跳过”并且仍然处于循环中,直到没有更多的对象可以迭代为止。这就是我对上述关闭的期望。
在您必须手动设置断点的一两个闭包的情况下,这可能不是问题。但是如果有很多,“自动”进入它们会非常巧妙。
ArrayUtils.isNotEmpty()Apache Commons Lang中的javadoc 似乎是错误的.或者,至少是误导性的.它说
返回:如果数组不为空或不为null,则返回true
根据我的理解,空数组不是null.所以,根据上面的定义,isNotEmpty()应该返回true一个空数组,这是违反直觉的.
岂不
返回:如果数组不为null且不为空,则返回true
更正确吗?
我有一个应用程序连接到需要基本身份验证的站点.这些站点在运行时提供,在编译时不知道.
我正在使用HttpClient 4.2.
我不确定下面的代码是否应该如何指定基本身份验证,但文档会建议它.但是,我不知道在构造函数中传递什么AuthScope.我原以为null参数意味着所提供的凭据应该用于所有URL,但它会抛出一个NullPointerException,所以显然我错了.
m_client = new DefaultHttpClient();
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(m_userName, m_password);
((DefaultHttpClient)m_client).getCredentialsProvider().setCredentials(new AuthScope((HttpHost)null), credentials);
Run Code Online (Sandbox Code Playgroud) java httpclient apache-commons-httpclient apache-httpclient-4.x
我有一个问题,如果我使用键CTRL+ SHIFT+ 在Eclipse中自动格式化XHTML文件(JSF 1.2)f,输出看起来非常糟糕,并且不再可读.
我的格式化代码:
<span class="label viertel alignright">
<h:outputLabel for="itLine5" value="E-Mail:" />
</span>
Run Code Online (Sandbox Code Playgroud)
变成这样:
<span class="label viertel alignright"> <h:outputLabel
for="itLine5" value="E-Mail:" /> </span>
Run Code Online (Sandbox Code Playgroud)
在这个小例子中,它仍然可读 - 但在较长的代码中它只是混乱!
如何确保我的XHTML代码以可读的方式格式化?
我使用这个版本的Eclipse Helios:
我使用这些JBoss工具:
我刚刚升级到Intellij构思14和Java 8,我也想到将我的项目升级到Java版本8,开始使用一些新功能.但是在正确配置Intellij以使用Java 8后,我仍然遇到了Lombok的问题.看起来Java 8和lombok之间存在冲突,因为现在我@Getter和@Setter注释不再起作用了.
lombok的版本是1.10.8.有什么建议?
来自Google的Guava库的Javadoc for Preconditions指出:
使用的项目
com.google.common通常应避免使用Objects.requireNonNull(Object).相反,使用checkNotNull(Object)或Verify.verifyNotNull(Object)中适合的情况.(对于接收消息的重载也是如此.)
这个建议背后的动机是什么?我在Javadoc中找不到任何东西.
我的意思是,他们几乎做同样的事情,在这些情况下,通常最好使用标准API(例如,Joda-Time背后的人现在建议人们使用java.time,几乎不赞成他们自己的框架).
作为示例,这两行输入验证执行相同的操作:
class PreconditionsExample {
private String string;
public PreconditionsExample(String string) {
this.string = Objects.requireNonNull(string, "string must not be null");
this.string = Preconditions.checkNotNull(string, "string must not be null");
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Oracle SQL Developer连接到Oracle 11g XE数据库。但是,我收到以下异常:
java.lang.SecurityException: sealing violation: package oracle.jdbc.driver is sealed
Run Code Online (Sandbox Code Playgroud)
我已经在网上搜索了答案,但没有找到解决方案。
是什么原因造成的,我该如何解决?
目前,这是我的代码:
public void setEquals(View v){
EditText txtDisplay = (EditText) findViewById(R.id.txtDisplay);
display = txtDisplay.getText().toString();
String[] strArrDisplay = display.split("\\+");
txtDisplay.setText(String.valueOf(strArrDisplay[0]));
Run Code Online (Sandbox Code Playgroud)
我当前的代码只能成功分割加号(+).如果有加号,减号,乘号或除号,我希望拆分字符串.
假设输入为:123 + 5-2,因此所需的输出应为:
strArrDisplay[0] = "123"
strArrDisplay[1] = "5"
strArrDisplay[2] = "2"
Run Code Online (Sandbox Code Playgroud) 我一直在用box2dweb和node.js 制作游戏.一切都运转正常,直到我决定改用Google的LiquidFun引擎,该引擎也基于Box2d.
在box2dweb中,我可以通过将以下内容添加到box2d.js文件的底部来导出我需要的模块.
module.exports = {
b2Vec2: Box2D.Common.Math.b2Vec2,
b2BodyDef: Box2D.Dynamics.b2BodyDef,
b2Body: Box2D.Dynamics.b2Body
};
Run Code Online (Sandbox Code Playgroud)
LiquidFun在其编译文件中不使用相同的命名空间,所以我试过:
module.exports = {
b2Vec2,
b2BodyDef,
b2Body
};
Run Code Online (Sandbox Code Playgroud)
我没有运气让node.js导出我需要的任何功能.有人可以告诉我如何正确导出LiquidFun吗?
给定一个非常简单的 Maven 项目,其中包含一个包含单个依赖项的 pom 文件:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>maven-test</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.cxf.xjc-utils</groupId>
<artifactId>cxf-xjc-runtime</artifactId>
<version>3.3.0</version>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
运行时mvn dependency:tree根据 Java 版本给出不同的结果。
使用 Java 8:
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------------< org.example:maven-test >-----------------------
[INFO] Building maven-test 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ maven-test ---
[INFO] org.example:maven-test:jar:1.0-SNAPSHOT
[INFO] \- org.apache.cxf.xjc-utils:cxf-xjc-runtime:jar:3.3.0:compile
[INFO] \- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile
[INFO] \- jakarta.activation:jakarta.activation-api:jar:1.2.1:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: …Run Code Online (Sandbox Code Playgroud) java ×7
arrays ×2
java-8 ×2
android ×1
box2dweb ×1
closures ×1
debugging ×1
dependencies ×1
eclipse ×1
groovy ×1
guava ×1
httpclient ×1
iteration ×1
java-11 ×1
javascript ×1
jdbc ×1
jsf-1.2 ×1
liquidfun ×1
lombok ×1
maven ×1
node.js ×1
ojdbc ×1
oracle ×1
oracle11g ×1
split ×1
spring ×1
string ×1
xhtml ×1