Intellij maven,項目出錯java.lang.Error: Unresolved compilation problems:The import org.apache cannot be resolved


今兒做東西,本來環境之前都是好的,不知道怎么的今兒突然壞了。tomcat啟動不起來,之前用的是tomcat6,后來我試着用了 tomcat7,還是不行。(7報錯更加負責,其中包含maven和7不兼容的問題,解決之后還包括了其他問題),項目組統一也都是用的tomcat6, 保險起見,我還是換回了tomcat6.去官網下了一個新的tomcat,然后解壓。啟動不起來,localhost:8080打不開。而且項目也有錯, 控制台

嚴重: Error configuring application listener of class com.XXX.XXX.XXX.XXX.XXX.commons.listener.InitListener
java.lang.Error: Unresolved compilation problems: 
    The import org.apache cannot be resolved
    The import javax.servlet cannot be resolved
    The import javax.servlet cannot be resolved
    ServletContextListener cannot be resolved to a type
    Logger cannot be resolved to a type
    Logger cannot be resolved
    ServletContextEvent cannot be resolved to a type
    ServletContextEvent cannot be resolved to a type
    sysLog cannot be resolved
    sysLog cannot be resolved
    sysLog cannot be resolved
    sysLog cannot be resolved
    sysLog cannot be resolved
以下省略

又看了一些文章,並 且把tomcat各種版本都裝了一遍,其中包括tomcat6,安裝版和解壓版,tomcat7解壓版。用tomcat6安裝版,手動啟動tomcat沒 問題,但是在intellij中啟動就會報錯,錯誤和上面一樣,因此也查了一下,好多文章中說在intellij中不能使用安裝版的tomcat。於是又 卸了重裝。期間tomcat的localhost:8080都打不開,於是乎查找問題,運行bin/startup一閃而過,在startup腳本最后面 加一個pause,

。。。。。。。。等等等

:end
pause

再次啟動,提示信息,發現問題是沒有catalina_home這個環境變量,於是在環境變量中添加catalina_home=D:\apache-tomcat-6.0.37  然后再次啟動,localhost:8080啟動,華麗麗的大貓(mua!),但是在intellij中還是報錯,最初的那個錯誤。於是乎,還是回到了問題開始。不服再戰!

不過總的來說,tomcat OK了,只是jar包沒有導入的問題。最后查看maven,我以前用的都是intellij的自帶maven,可能會有問題,保險起見,我在外部裝一個maven,解壓版的maven,apache-maven-3.0.4,於是從新配置,新的配置maven會自動下載包,於是等於把項目的依賴包從新下載一遍。

下載中,有些報紅,說明沒下下來,查看maven的插件org.apache.maven.plugins:maven-compiler-plugin都沒下下來,我刷新了一下,結果又下下來了。莫名其妙~!

查看maven的配置文件setting.xml 里面果然不一樣,從別人那里拷貝過來一份,果然生效了,包下下來了。

包是下下來了,可是問題還是存在,找來找去,最后請教別人,果然還是熟悉工具,了解maven的大牛搞定了,搞定方式:去掉其中編碼的部分,例如下面代碼中去掉<encoding>utf-8</encoding>。

 <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>utf-8</encoding>
                </configuration>
            </plugin>

 

原理(我自己猜測,可能不對):由於Intellij的版本不同,我用的11.1.2,之前工程的創建和編碼貌似都用的是12,而我的打開方式是直接打開工程,這種打開方式自帶了一些信息,這種信息會導致編碼格式的一些問題,具體是什么我也不很清楚。(基於這種情況,建議以后都用在打開工程時都用pom文件打開)

總結:很多時候很多問題還是基於對這些相關內容有一定的了解,才能夠快速定位,或者說合理查找。不懂的太多了,以至於根本不知道何從下手,像個無頭蒼蠅。還需要學習~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM