konnten keine Informationen speziell zu dem, was ich sehe, finden.Intellij "kann Symbol nicht auflösen" in Zwei-Buchstaben-Paketname
Mein Hauptpaket ist re.dice
unter dem alle meine Code gehalten wird.
IntelliJ derzeit Hervorhebung der aus zwei Buchstaben bestehenden Teil re
in rot, um die Fehlermeldung angezeigt wird re „‚‘Kann nicht Symbol lösen“.
Mein Projekt baut korrekt in Maven und ich habe noch keine Funktionalität in der Klasse implementiert, um zu sehen, ob es weitere Probleme gibt.
Ist das ein Fehler in IntelliJ? Oder sind zweistellige Paketnamen problematisch? Ich kann nicht sehen, dass es für irgendetwas reserviert ist - ich frage mich, ob es nur eine Einstellung irgendwo ist, die ich IntelliJ bewusst machen muss?
EDIT Hier ist meine Konfigurationsklasse
package re.dice.config;
import freemarker.template.utility.XmlEscape;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.web.servlet.config.annotation.*;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
import java.util.HashMap;
import java.util.Map;
@Configuration
@ComponentScan("re.dice")
@EnableWebMvc
public class AppConfig extends WebMvcConfigurerAdapter {
@Bean(name = "freemarkerConfig")
public FreeMarkerConfigurer freemarkerConfig() {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setTemplateLoaderPath("/templates");
Map<String,Object> map = new HashMap<>();
map.put("xml_escape", new XmlEscape());
configurer.setFreemarkerVariables(map);
return configurer;
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.ignoreUnknownPathExtensions(false).defaultContentType(MediaType.TEXT_HTML);
}
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
registry.freeMarker();
}
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/css/**").addResourceLocations("classpath:/css/");
registry.addResourceHandler("/resources/**").addResourceLocations("/resources");
}
}
Und hier ist mein pom.xml
<?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>re.dice</groupId>
<artifactId>frontend</artifactId>
<name>frontend</name>
<version>0.1-SNAPSHOT</version>
<packaging>war</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.3</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>3.2.0</version>
<exclusions>
<exclusion>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Dies ist das einzige Projekt, das ich zur Zeit haben, die unter diesem Paketnamen ist.
Im Nachhinein - ich weiß, dies ist kein "Bug" mit IntelliJ, sondern eher eine "Eigenheit" vielleicht.
Intellij Idea hat keine Probleme mit 2-stelligen Paketnamen, auch 1-Char Namen sind in Ordnung. Offenbar haben Sie Probleme mit der Konfiguration des Klassenpfads. Aber Sie haben keinen Code oder Konfigurationsdateien veröffentlicht, so dass es wirklich schwierig ist zu erkennen, was die Ursache ist –
Kein Fehler in IntelliJ. Ich bin sicher, es ist dein Code/deine Konfiguration. – duffymo
Ich habe einen Vorschlag. Das Paket 're.dice' ist Teil eines anderen von dir geschriebenen Maven-Projekts. Und du versuchst es zu beziehen, wenn du aus einem anderen Maven-Projekt kommst. Stellen Sie in diesem Fall sicher, dass Sie ein Projekt mit 're.dice' in Ihrem lokalen maven Repo installiert haben. Führen Sie 'mvn clean install' auf dem Projekt mit' re.dice' aus, dann machen Sie das selbe für Ihr Projekt, das 're.dice' verweist. –