对于想了解Maven依赖项在WEB-INF/lib中不可见的读者,本文将提供新的信息,我们将详细介绍maven依赖范围,并且为您提供关于Android中的libGoogleAnalyticsV2.ja
对于想了解Maven依赖项在WEB-INF / lib中不可见的读者,本文将提供新的信息,我们将详细介绍maven依赖范围,并且为您提供关于Android中的libGoogleAnalyticsV2.jar的Maven依赖项、Eclipse WTP未发布Maven依赖项、Eclipse+Maven 快速生成 Web 项目,解决部署时 Maven lib 依赖问题、IntellijIdea Maven 配置依赖包后 WEB-INF/lib 下缺少 pom.xml 里指定的 jar的有价值信息。
本文目录一览:- Maven依赖项在WEB-INF / lib中不可见(maven依赖范围)
- Android中的libGoogleAnalyticsV2.jar的Maven依赖项
- Eclipse WTP未发布Maven依赖项
- Eclipse+Maven 快速生成 Web 项目,解决部署时 Maven lib 依赖问题
- IntellijIdea Maven 配置依赖包后 WEB-INF/lib 下缺少 pom.xml 里指定的 jar
Maven依赖项在WEB-INF / lib中不可见(maven依赖范围)
我的项目基于Maven时遇到了这个奇怪的问题。我在Eclipse中创建了一个新的 Maven
项目,并启用了动态Web构面。但是现在在运行时抛出该异常ClassNotFoundException
是因为Maven依赖项未复制到WEB-INF/lib
目录中。我什至尝试在POM中添加“ 副本依赖项” 部分,但没有帮助。
这里的某个人似乎已经以正确的方式解决了这个问题,但是我想他忘了提及解决方案了::(
答案1
小编典典这应该与eclipse和m2eclipse无关,并且可以选择更好地支持-m2e-wtp。另外,您不需要复制依赖性。以下是一些可能的原因:
- 您应该调用
mvn package
(或右键单击> maven> package)并获取war文件-<packaging>
(在pom中)必须为war
- 您的依存关系应具有默认范围(如果存在,则为默认范围),
provided
否则test
将不包含在归档文件中) - 如果要在Eclipse中的服务器上将项目作为动态Web项目运行,则应打开项目属性(右键单击>属性),然后选择“部署程序集”。单击“添加”,选择“构建路径条目”,然后选择“ Maven依赖项”。这将指示WTP将Maven依赖项发送到服务器目录。
Android中的libGoogleAnalyticsV2.jar的Maven依赖项
<dependency> <groupId>com.google.android.analytics</groupId> <artifactId>analytics-v2</artifactId> <version>r2</version> </dependency>
现在我已升级到Google Analytics lib V2(libGoogleAnalyticsV2.jar),但我找不到任何依赖配置示例……
我不认为我是唯一一个试图在Android中使用新分析库的人……所以,有没有人知道解决方案?
解决方法
Eclipse WTP未发布Maven依赖项
我正在尝试使用Eclipse Indigo和Tomcat服务器建立一个基本的hello
world项目。我用一个简单的servlet创建了一个动态项目。测试了servlet,并且工作正常。然后,我启用了Maven支持,并将logback添加到了pom。我在servlet的doGet
方法中放入了一条日志记录语句。运行servlet时,它抱怨找不到任何绑定,因为未将logback
jar复制到Eclipse tomcat实例中。我希望在这里找到发布的jar:
${workspace}\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\
如何使Eclipse能够正确地与WTP / Maven一起使用?我也尝试安装m2e-wtp连接器,没有区别。
Eclipse+Maven 快速生成 Web 项目,解决部署时 Maven lib 依赖问题
用 Maven 开发做了很久了,用 Eclipse 做开发就更久了。自打用 Eclipse 开发 Web 项目,就一直用着 Eclipse 的 WTP,离开了 WTP 的 Server,就超级不习惯。虽然 Maven 已经 3.0 时代了,虽然 Maven For Eclipse 的插件也做了很久了,但还是不够好用,兼容做的不够好。接下来,我们通过简单配置,解决 wtp 发布工程时,对于 Maven 的 Lib 依赖!
通过 mvn 命令的方式产生 wtp 的 eclipse 项目的方法,我已经尝试过了,还不如新建 Dynamic Web Project,然后将其转化为 Maven Project。
新建 Dynamic Web Project,选择源代码路径时,与 Maven Project 保持一致,删除原有 src 目录,直接建立 src/main/java、 src/main/resources、 src/test/java、 src/test/resources 目录。同时,指定输出目录为 target/class

全部目录:

构建 Web Module 时,调整下 Content directory,与 Maven Webapp 项目保持一致。

这时目录结构如下:

转化 Maven Project 时,要注意 Packaging 选为 war:

调整测试源代码输出路径:

如果你跳过了上面的步骤已经建立的 web 项目,但想引用 Maven 的 Lib 怎么办?

选中 Maven Dependencies

最后得到这个结果:

或者直接修改 .classpath 文件,找到 <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
替换为:
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
也是一样的效果!
随便写个页面,在 eclipse 运行 server:

搞定!
这基本上不费什么力气,比用 mvn eclipse:eclipse –Dwtpversion=2.0 的种种方便多了。
备注我使用的插件:
GEF
m2e
m2e-extras
m2e-extras 选择时,一定要装 WTP 跟 Extras,必选!
IntellijIdea Maven 配置依赖包后 WEB-INF/lib 下缺少 pom.xml 里指定的 jar
pom.xml 代码:
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>net.loyin</groupId> <artifactId>crm</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>crm Maven Webapp</name> <url>http://maven.apache.org</url> <build> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.7</version> <configuration> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8080</port> <maxIdleTime>30000</maxIdleTime> </connector> </connectors> <webAppSourceDirectory>${project.build.directory}/${pom.artifactId}-${pom.version} </webAppSourceDirectory> <contextPath>/</contextPath> </configuration> </plugin> </plugins> </build> <dependencies> <!--数据库 START--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.12</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>9.3-1102-jdbc41</version> </dependency> <!--数据库 END--> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache-core</artifactId> <version>2.6.6</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.20</version> <scope>provided</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.3</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.9</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.11.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-core</artifactId> <version>5.7.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.jms</groupId> <artifactId>jms-api</artifactId> <version>1.1-rev-1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.1</version> <scope>provided</scope> </dependency> <!--权限控制--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-all</artifactId> <version>1.2.2</version> <scope>provided</scope> </dependency> <!--jfinal START--> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>1.9</version> </dependency> <dependency> <groupId>com.jfinal</groupId> <artifactId>cos</artifactId> <version>26Dec2008</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal-ext</artifactId> <version>3.1.2</version> </dependency> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal_weixin</artifactId> <version>1.2</version> </dependency> <!--jfinal END--> <!--工作流START--> <dependency> <groupId>com.github.snakerflow</groupId> <artifactId>snaker-core</artifactId> <version>2.5.0</version> </dependency> <dependency> <groupId>com.github.snakerflow</groupId> <artifactId>snaker-jfinal</artifactId> <version>2.5.0</version> </dependency> <!--工作流END--> <dependency> <groupId>com.github.sd4324530</groupId> <artifactId>fastweixin</artifactId> <version>1.2.8</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> </dependency> </dependencies> </project>
项目配置:
红框中是没有加载的 jar。
pom.xml 依赖:
请问是哪里配置错误?
@jfinal
今天关于Maven依赖项在WEB-INF / lib中不可见和maven依赖范围的讲解已经结束,谢谢您的阅读,如果想了解更多关于Android中的libGoogleAnalyticsV2.jar的Maven依赖项、Eclipse WTP未发布Maven依赖项、Eclipse+Maven 快速生成 Web 项目,解决部署时 Maven lib 依赖问题、IntellijIdea Maven 配置依赖包后 WEB-INF/lib 下缺少 pom.xml 里指定的 jar的相关知识,请在本站搜索。
本文标签: