小编Lim*_*ile的帖子

没有完成可用,奇怪的Eclipse行为

我想我尝试了所有建议的解决方案,但这个Eclipse自动完成问题非常特别:

  1. 我启动Eclipse,内容辅助工作正常;
  2. 我想在Swing项目中创建一个LineBorder;
  3. 我输入LineBorder panelBorder = new Li并按Ctrl + Space;
  4. 没有弹出窗口,状态栏中显示红色"无法完成";
  5. 我在内容辅助工作2秒前完成的元素上尝试Ctrl + Space,它不再起作用了.
  6. 我在其他项目上尝试相同的事情,关闭并重新打开后在同一个项目上,清理它之后内容辅助工作正常,然后我尝试使用LineBorder构造函数,然后崩溃.

我尝试了什么:

  1. 在'Preferences-> Java-> Editor-> Content Assist-> Advanced'中重置为默认值;
  2. 检查同一菜单中的每个复选框;
  3. 创建一个新工作区并在那里尝试;
  4. 删除.metadata/.plugins/org.eclipse.jdt.core中的.index文件和'savedIndexNames.txt';
  5. 检查重复的库.

我没有尝试的是重新安装Eclipse.我使用的版本是Eclipse IDE for Java Developers(Juno).

似乎没什么用.

更新:

按照iGili的建议检查日志.在失败时提出了一些例外:

org.eclipse.e4.core.di.InjectionException: org.eclipse.core.commands.ExecutionException: While executing the action, an exception occurred
Caused by: org.eclipse.core.commands.ExecutionException: While executing the action, an exception occurred
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
    at org.eclipse.jdt.internal.codeassist.InternalCompletionProposal.findConstructorParameterNames(InternalCompletionProposal.java:257)
    at org.eclipse.jdt.internal.codeassist.InternalCompletionProposal.findParameterNames(InternalCompletionProposal.java:1456)
    at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.appendUnboundedParameterList(CompletionProposalLabelProvider.java:113)
    at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.createMethodProposalLabel(CompletionProposalLabelProvider.java:272)
    at org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider.createStyledLabel(CompletionProposalLabelProvider.java:570)
    at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.computeDisplayString(LazyJavaCompletionProposal.java:262)
    at org.eclipse.jdt.internal.ui.text.java.LazyJavaCompletionProposal.getStyledDisplayString(LazyJavaCompletionProposal.java:238)
    at org.eclipse.jface.text.contentassist.CompletionProposalPopup.handleSetData(CompletionProposalPopup.java:841)
    at org.eclipse.jface.text.contentassist.CompletionProposalPopup.access$24(CompletionProposalPopup.java:831)
    at …
Run Code Online (Sandbox Code Playgroud)

java eclipse content-assist

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

可以将接口添加到现有的.NET类型中吗?

我的下面的例子涉及2个.NET类,它们都包含CommonMethod方法.我想设计MyMethod,可以接受任何类(使用),同时保留NetClassA和NetClassB常用的功能.Case1会做到这一点,只有它是非法的,如下所述.Case2也将完成目标,除了INetClassA和INetClassB不存在.因此,我的问题是有一种方法可以在现有的.NET类型(案例3)上强制使用自定义接口(ICommonNetMethods)吗?我的问题的替代解决方案受到欢迎.

// Case 1:  Illegal because "where" can only have 1 base class
public void MyMethod<Ttype>(Ttype myClass) where Ttype : NetClassA, NetClassB {}

// Case 2:  Legal to utlize multiple "where" interface types
public void MyMethod<Ttype>(Ttype myClass) where Ttype : INetClassA, INetClassB {}

// Case 3:  For this to work ICommonNetMethods must be added to NetClassA/NetClassB
public void MyMethod<Ttype>(Ttype myClass) where Ttype : ICommonNetMethods {}

NetClassA() { This .NET class has method CommonMethod() }
NetClassB() { This .NET class has …
Run Code Online (Sandbox Code Playgroud)

c# type-conversion

18
推荐指数
5
解决办法
7523
查看次数

Params后跟可选参数

所以我看到有可能有一个方法签名,其中第一个参数提供默认值,第二个参数是params集合.

我看不到的是实际使用第一个参数的默认值的方法.

它可能吗?

示例方法:

void WaitAllTasks(string message = "Running Task.WaitAll", params Task[] tasks);

我最初尝试在调用方法时省略message参数,并尝试使用命名参数,这与params不兼容.

它编译,但是可以使用它吗?

c# optional-parameters params

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

从HTTP客户端发出PUT请求后获得"411 Length Required"

我正在开发一个实现HTTP客户端的Java程序.我测试它向服务器发送请求.GET,POST和DELETE请求正常工作.例如,在POST请求之后,我得到一个输出

Data extracted:
{"status":{"message":"ok"}}
Run Code Online (Sandbox Code Playgroud)

并且数据库反映了所做的更改.

在PUT请求之后,我得到以下指示错误的网页的html标记.

Data extracted:
<html>
<head><title>411 Length Required</title></head>
<body bgcolor="white">
<center><h1>411 Length Required</h1></center>
<hr><center>nginx/1.2.6</center>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

因此数据库没有变化.

我发现这可能与Content-Length标题有关,但我不确定.尝试添加此标头后,我的程序等待一分钟然后抛出异常,通知它无法处理服务器响应.

如果需要,我还可以提供任何代码或堆栈跟踪.

java rest http put content-length

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

在调试模式下找不到JSP变量

在我的JSP文件中,我有一个像这样初始化的属性:

<c:set var="perspectiveCount" value="0"/>
Run Code Online (Sandbox Code Playgroud)

我正在尝试学习如何在NetBeans中调试JSP.当我在该行之后切换一个断点并调试程序时,我在Variables选项卡中找到了大量的变量,我找不到它们perspectiveCount.也许是因为它不是一个变量,而是一个属性.

我也尝试使用Evaluate Code选项卡,但它回答我"perspectiveCount"不是当前上下文中的已知变量.

调试和学习价值的正确方法是perspectiveCount什么?

java debugging jsp netbeans

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

如何正常关闭因关闭执行命令行而终止​​的Java应用程序?

关于优雅地关闭Java命令行程序的最佳方法有一个已回答的问题.当程序被Ctrl + C终止时,关闭钩子可以完成这项工作.

我的问题是如果在执行Java程序期间命令行本身被关闭,如何优雅地退出?我用关机钩测试但在这种情况下它不起作用.我不知道在这种情况下虚拟机会发生什么.该过程及其所有线程是否立即被杀死?关闭命令行产生什么样的信号?

那么,这个特殊问题怎么解决?

编辑:问题涉及Windows环境.

java windows command-line exit

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

不相关的非主导术语是否应该被删除?

当我们有了时O(N + logN),我们就不再logN是一个非主导术语。

当我们有时,O(N + M)我们必须保留这两个术语,因为这些术语不相关。

如果我们有类似的事情会发生什么O(N + logM)?一方面,术语仍然不相关。另一方面,即使M非常大并且N非常小,N迟早会超越logM,所以也许N应该被视为主导术语。在这种情况下应该logM放弃吗?

big-o

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

ProcessBuilder在Process可以找不到指定的文件

我试图从Java程序运行一个jar文件,我成功使用getRuntime():

Process processAlgo = Runtime.getRuntime().exec("java -jar "+algoPath);
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用时,ProcessBuilder我得到了The system cannot find the file specified异常:

ProcessBuilder builder = new ProcessBuilder("java -jar " + algoPath);
Process processAlgo = builder.start();
Run Code Online (Sandbox Code Playgroud)

我试图更改指定文件的位置,并指示其完整路径,但它不起作用.什么可能导致问题?

java process processbuilder

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

未使用的 JPA 实体是否被垃圾收集?为什么?

构建一个 Spring 应用程序,使用我多次遇到的 API 从 Web 获取数据OutOfMemoryError: GC overhead limit exceeded。经过一些分析会议后,我开始质疑我的模型,如下所示:

@Entity
class A {
  @Id
  private Integer id;
  private String name;

  @OneToMany
  private Set<B> b1;

  @OneToMany
  private Set<B> b2;
}

@Entity
Class B {
  @Id
  private Integer id;

  @ManyToOne
  private A a1;

  @ManyToOne
  private A a2;
}
Run Code Online (Sandbox Code Playgroud)

有一个 CrudRepository 分配来管理这些实体(JPA + EclipseLink)。实体加载是默认的,在这种情况下意味着急切的 AFAIK。

该程序尝试执行以下操作:

// populates the set with 2500 A instances.
Set<A> aCollection = fetchAFromWebAPI();
for (A a : aCollection) {
  // populates b1 and b2 …
Run Code Online (Sandbox Code Playgroud)

java memory orm profiling garbage-collection

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

使用Java DB和Derby有什么区别吗?

我是基于Java的数据库的新手.我想从Java DB开始,因为它是JDK的一部分.我找不到足够的资源来理解:Java DB与Apache Derby是一回事吗?如果是,哪一个更容易从Eclipse使用?它是基于命令行的数据库系统吗?

我试着按照Java DB的官方入门指南说

Java DB产品包括Derby,无需对底层源代码进行任何修改.

但我无法弄清楚使用它的最佳方法.

java eclipse derby javadb

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

验证器只能接受特定的数值

除了javax.validation库之外,我还在使用Hibernate Validator 来验证Spring MVC应用程序中控制器的请求主体。有一些约束注释,这些约束有助于最小和最大边界以及数字的数量,但是我找不到只接受特定数字的方法。例如,如果我只想接受值10、20和50,该怎么办?

我知道可以使用org.springframework.validation.Validator界面创建更复杂的规则。我想到的另一件事是创建一个具有所需数值的枚举,但这似乎不是一个干净的解决方案。我很想知道是否有更好,更简单的方法来实现我想要的。

java validation spring user-input hibernate-validator

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