lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler" <...@thetaphi.de>
Subject RE: run in eclipse error
Date Tue, 17 Oct 2017 07:45:01 GMT
Hi,

this has nothing to do with the Java version. I generally ignore this Eclipse-failure as I
only develop in Eclipse, but run from command line. The reason for this behaviour is a problem
with Eclipse's resource management/compiler with the way how some classes in Solr (especially
facet component) are setup.

In general, it is nowadays a no-go to have so called "non-inner" pkg-private classes. These
are classes which share the same source code file, but are not nested in the main class. Instead
they appear next to each other in the source file. This is a relic from Java 1.0 and should
really no longer used!

Unfortunately some Solr developers still create such non-nested classes. Whenever I see them
I change them to be static inner classes. The problem with the bug caused by this is that
Eclipse randomly fails (it depends on the order how it compiles). The problem is that Eclipse
(but also other tools) cannot relate the non-inner class file to a source file and therefore
cannot figure out when it needs to be recompiled.

BTW. The same problem applies to other build system like javac and Ant when it needs to compile.
When you change such an inner non-nested inner class, it fails to compile in most cases unless
you do "ant clean". The problem is again, that the compiler cannot relate the class files
to source code files!

We should really fix those classes to be static and inner - or place them in separate source
files. I am looking to find a solution to detect this with forbiddenapis or our Source Code
Regexes, if anybody has an idea: tell me!

Uwe

-----
Uwe Schindler
Achterdiek 19, D-28357 Bremen
http://www.thetaphi.de
eMail: uwe@thetaphi.de

> -----Original Message-----
> From: 380382856@qq.com [mailto:380382856@qq.com]
> Sent: Tuesday, October 17, 2017 4:43 AM
> To: java-user <java-user@lucene.apache.org>
> Subject: run in eclipse error
> 
> i am trying to run solr in eclipse. but got the error "The type
> FacetDoubleMerger is already defined". i don't know why. Whether it is jdk
> version wrong?
> Does git master need to use java9 for development?
> 
> 
> 380382856@qq.com


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message