GVKun编程网logo

Maven依赖项在WEB-INF / lib中不可见(maven依赖范围)

25

对于想了解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依赖范围)

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依赖项

Android中的libGoogleAnalyticsV2.jar的Maven依赖项

Google Analytics lib 1.3的mavens pom.xml中的依赖关系配置如下所示:

<dependency>
          <groupId>com.google.android.analytics</groupId>
          <artifactId>analytics-v2</artifactId>
          <version>r2</version>
  </dependency>

现在我已升级到Google Analytics lib V2(libGoogleAnalyticsV2.jar),但我找不到任何依赖配置示例……

我不认为我是唯一一个试图在Android中使用新分析库的人……所以,有没有人知道解决方案?

解决方法

使用 https://github.com/mosabua/maven-android-sdk-deployer基于SDK创建本地工件.这也应该为您创建适当的依赖POM.

Eclipse WTP未发布Maven依赖项

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 依赖问题

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/javasrc/main/resourcessrc/test/javasrc/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

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 依赖:

对应 target 下载的 lib:

请问是哪里配置错误?

@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的相关知识,请在本站搜索。

本文标签: