当前位置: 首页 > 知识库问答 >
问题:

Ivy解决了Oracle JDBC依赖,但没有将jar与其他依赖一起部署

沃博裕
2023-03-14

希望有人能阐明我一直在研究的问题。我正在将一个小项目从GWT更改为Vaadin,除了Oracle JDBC驱动程序(ojdbc6.jar)之外,我的所有库都在工作。在阅读了周围之后,我发现这个库无法通过公共Maven存储库获得,所以我开始努力从我的本地文件系统将其添加到Ivy中。

这就是问题所在。我已经能够让常春藤解析依赖关系并将其添加到常春藤缓存中,但是它只会将其添加到我的lib / jars文件夹中,而不会添加到WAR\WEB-INF\lib文件夹中。我的所有其他依赖项似乎都按预期工作,并部署到 WEB-INF\lib 文件夹,C3P0 可以启动数据库池,但在尝试加载 JDBC 驱动程序时失败。

我的文件系统设置是ivy设置中列出的第一个解析器。xml-希望有人能帮上忙!

  • 瓦丁7.1.11
  • 日蚀朱诺
  • IvyDE 2.2.0Final

*C:\dev-vaadin\ivy.repo*

  • ivy6.xml
  • ojdbc6.jar

. ivy2\cache\com.oracle\ojdbc

    < li >罐子\ < li>ivy-6.xml < li>ivy-6.xml.original < li>ivydata-6.properties

. ivy 2 \ cache \ com . Oracle \ ojdbc \ jars

  • ojdbc-6.jar公司

常春藤xml

 1<?xml version="1.0"?>
 2<!DOCTYPE ivy-module [
 3    <!ENTITY vaadin.version "7.1.11">
 4]>
 5<ivy-module version="2.0"
 6    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 7    xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
 8    <info organisation="com.example" module="v7proj" />
 9    <configurations>
10        <!-- The default configuration, which should be deployed to the server -->
11        <conf name="default" />
12        <!-- A configuration only needed when compiling the widget set. Should 
13            not be deployed to the server -->
14        <conf name="widgetset-compile" />
15        <!-- A configuration used in compilation of server side classes only.
16            Should be deployed to the server -->
17        <conf name="nodeploy" />
18    </configurations>
19    <dependencies defaultconf="default" defaultconfmapping="default->default">
20        <!-- The core server part of Vaadin -->
21        <dependency org="com.vaadin" name="vaadin-server" rev="&vaadin.version;" />
22
23        <!-- Vaadin themes -->
24        <dependency org="com.vaadin" name="vaadin-themes" rev="&vaadin.version;" />
25
26        <!-- Push support -->
27        <dependency org="com.vaadin" name="vaadin-push" rev="&vaadin.version;" />
28        
29        <!-- log4j -->
30        <dependency org="log4j" name="log4j" rev="1.2.17" conf="default" />
31        
32        <!-- c3p0 -->
33        <dependency org="com.mchange" name="c3p0" rev="0.9.2.1" conf="default" />
34        
35        <!-- Oracle JDBC -->
36        <dependency org="com.oracle" name="ojdbc" rev="6" conf="default" />
37        
38        <!-- simple-java-mail -->
39        <dependency org="org.codemonkey.simplejavamail" name="simple-java-mail" rev="2.1" conf="default" />
40        
41        <!-- GWT -->
42        <dependency org="com.google.gwt" name="gwt-servlet" rev="2.5.1" conf="default" />
43
44        <!-- Apache Commons -->
45        <dependency org="org.apache.commons" name="commons-lang3" rev="3.2.1" conf="default" />
46
47        <!-- Servlet 3.0 API -->
48        <dependency org="javax.servlet" name="javax.servlet-api" rev="3.0.1" conf="default" />
49
50        <!-- Precompiled DefaultWidgetSet -->
51        <dependency org="com.vaadin" name="vaadin-client-compiled"
52            rev="&vaadin.version;" />
53
54        <!-- Vaadin client side, needed for widget set compilation -->
55        <dependency org="com.vaadin" name="vaadin-client" rev="&vaadin.version;"
56             conf="widgetset-compile->default" />
57
58        <!-- Compiler for custom widget sets. Should not be deployed -->
59        <dependency org="com.vaadin" name="vaadin-client-compiler"
60            rev="&vaadin.version;" conf="widgetset-compile->default" />
61    </dependencies>
62 </ivy-module>

常春藤设置. xml

 1<?xml version="1.0" encoding="UTF-8"?>
 2<ivysettings>
 3    <property name="repo.dir" value="C:/dev-vaadin/ivy.repo" />
 4    <settings defaultResolver="default" />
 5    <resolvers>
 6        <chain name="default">
 7            <!-- Localhost filesystem repository -->
 8            <filesystem name="internal">
 9                <ivy pattern="${repo.dir}/ivy[revision].xml" />
10                <artifact pattern="${repo.dir}/[artifact][revision].[ext]" />
11            </filesystem>
12        
13            <!-- Public Maven repository -->
14            <ibiblio name="public" m2compatible="true" />7
15
16            <!-- Vaadin Add-on repository -->
17            <ibiblio name="vaadin-addons" usepoms="true" m2compatible="true"
18                root="http://maven.vaadin.com/vaadin-addons" />
19
20            <!-- Vaadin snapshots repository -->
21            <ibiblio name="vaadin-snapshots" usepoms="true" m2compatible="true"
22                root="https://oss.sonatype.org/content/repositories/vaadin-snapshots" />
23            <!-- Repository used for Vaadin modified smartsprites library -->
24            <dual name="custom-smartsprites">
25                <filesystem name="smartsprites-ivy">
26                    <ivy pattern="${basedir}/ivymodule/[module]-ivy-[revision].xml" />
27                </filesystem>
28                <url name="smartsprites-artifact">
29                    <artifact
30                        pattern="http://dev.vaadin.com/svn/versions/6.8/build/smartsprites/lib/[artifact](-[revision]).[ext]" />
31                </url>
32            </dual>
33        </chain>
34    </resolvers>
35    <modules>
36        <!-- Vaadin patched SmartSprites -->
37        <module organisation="com.carrotsearch" name="smartsprites"
38            revision="0.2.3-itmill" resolver="custom-smartsprites" />
39    </modules>
40
41
42</ivysettings>

共有1个答案

龚勇锐
2023-03-14

在eclipse中查看您的项目属性。有一个名为“部署程序集”的点应该至少包含这两个条目:

/src          -> WEB-INF/classes
/WebContent   -> /

然后你可以添加

/Ivy   -> WEB-INF/lib

确保所有需要的库都包含在部署程序集中。

 类似资料:
  • 我无法按配置名称检索预期的依赖项。我有一个共享库,我将使用以下 ivy 文件发布到本地存储库: 到目前为止,一切都很好。我发布了jar,如果我尝试通过配置检索它的依赖项,我会得到我期望的结果,运行时配置中有两个依赖项,提供的和测试配置中各有六个依赖项。当我试图检索依赖于的依赖项时,问题就开始了。我使用这个常春藤文件: 现在,如果我尝试检索配置,而不是获取jar、 0.05 my module,我会

  • 这是我的毕业档案 然而,当我使用gradlebuild时,当输出jar在Minecraft中运行时会发生以下错误 这是json中的代码。JAVA 我猜这是因为这个jar中没有依赖项(json-lib),但是我在构建配置文件中设置了它,我想问一下是什么原因导致了这个mod的完整代码(https://github.com/SiongSng/RPMTW-Update-Mod/tree/master/1.

  • 我对ivy没有解析我的一些依赖关系有问题。以下是我如何重现这个问题的: 我在eclipse中有一个空的java项目。我已经在我的项目中添加了ivy.xml: 这工作正常,ivy能够解决和下载口水。 如果我将修订版更改为6.3.0.Final(http://mvnrepository.com/artifact/org.drools/drools-core/6.3.0.Final),它将不起作用,我看

  • 我给ivy添加了一个依赖项(我们称之为a)。在maven central中具有pom文件的xml。Ivy使用ibiblio来解析maven依赖项。添加到常春藤中的依赖项(A)。xml具有可传递依赖项(B)。到目前为止,一切都很好。传递依赖(B)的依赖(C)不能用常春藤来解决。 我在常春藤上定义了一个新的名字。如下所示的xml: 在B的pom文件中,C在编译和测试范围中定义如下: 当我在ivy的缓存

  • 我们的结构如下: 在我们的通用api中,我们定义了protobuf消息,还定义了帮助器类和类型,并希望其他人使用它们。 当我们向客户提供common-api.jar时,他们还需要两个父pom(pom2和pom1),以便在他们自己的maven服务器上重新部署它们。 一种向他们提供POM的方法,我们可以公开我们的maven存储库,至少是所需的部分,但不幸的是,目前这不是一个选项。 有没有办法自动创建公