2013-05-21 196 views
0

我有一個liferay portlet。 我已經使用maven添加了一些外部庫。 在IDE中沒有任何錯誤,它可以識別,但螞蟻部署時 ,它說沒有這樣的包和類無法解析導入包

import pack.SomeClass; 
The import pack cannot be resolved 

代碼:

import pack.SomeClass; 
public class MainPortlet extends MVCPortlet { 
    public void doView(RenderRequest renderRequest,RenderResponse renderResponse) { 
     SomeClass a = new SomeClass(); 
    } 
} 
+0

這與Maven有什麼關係?如何構建用於部署的Classpath? – 2013-05-21 07:41:12

+4

你寫道你添加了Maven依賴項,但是你正在使用Ant進行部署。看起來很尷尬。你的Ant腳本是否知道Maven的依賴關係?你在用艾維嗎? –

+1

如果依賴項是一個liferay jar,比如'util-taglib.jar',那麼使用'liferay-plugin-package.properties'來定義依賴項,如果它不是一個liferay jar或者自定義jar,那麼我想你會需要把它放在'WEB-INF/lib'中,檢查部署的WAR文件是否在WEB-INF/lib中有依賴jar,否則ANT不能識別maven依賴,所以要麼讓ANT知道要麼使用Maven構建WAR文件。 –

回答

0

如果您正在使用Maven和你定義了你依賴範圍作爲系統或提供類似系統或提供>然後它不會包含在部署或包生成的war文件中。

如果你在本地有第三方jar,並且你想將它們包含在你的war文件中,那麼把這個jar文件安裝到你的本地資源庫中,並從pom.xml中刪除範圍,然後當package maven將jar文件包含到你的war中你沒有得到有關部署

命令任何錯誤在你的本地庫安裝JAR

mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code 
-DartifactId=kaptcha -Dversion={version} -Dpackaging=jar 

希望它可以幫助!