Checkstyle has a onetoplevelclass rule that would enforce this

On October 17, 2017 3:45:01 AM EDT, Uwe Schindler <u...@thetaphi.de> wrote:
>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: u...@thetaphi.de
>
>> -----Original Message-----
>> From: 380382...@qq.com [mailto:380382...@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?
>> 
>> 
>> 380382...@qq.com
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
>For additional commands, e-mail: java-user-h...@lucene.apache.org

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Reply via email to