[英]java ee api is missing on project classpath while using httpunit for servlet testing in maven
我想使用maven運行這里提供的servlet測試示例。 Javaee web api應聲明為provided
:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>httpunit</groupId>
<artifactId>httpunit</artifactId>
<version>1.7</version>
<scope>test</scope>
</dependency>
但是,示例中的一個測試會拋出ServletException
。 NetBeans抱怨java ee api is missing on project classpath
。 如何解決這個問題?
編輯
它不是NetBeans問題,而是一個maven問題。
現在這是我在Java時代遇到過的最令人虛弱的問題。 接下來是我見過的最荒謬的解決方法:
<dependency>
<groupId>httpunit</groupId>
<artifactId>httpunit</artifactId>
<version>1.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
是的,置換pom.xml
的依賴項聲明(請參閱此處的“為什么” )並最后創建javaee-web-api
。
這意味着maven(或netbeans ...我在10年內沒有使用過netbeans),無法下載或在本地存儲庫中找到該工件。
提供的范圍意味着:我需要jar來編譯我的源代碼,但不要將jar捆綁在最終的包中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.