0

我有一个带有 Maven 的网络应用程序。这个应用程序使用一个 jar 文件来拥有 .class(它是其他应用程序,但这个 jar 文件不是 maven 应用程序,它是用 ant 完成的,它只有 .class,...)。在我的网络应用程序中,我使用了这个 jar 文件中的类,但是当我使用 maven install 进行部署时,我遇到了下一个错误:

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project Web_provision: Compilation failure: Compilation failure:
    [ERROR] ...\controller\common\InitialController.java:[5,59] error: package name.package... does not exist
    [ERROR]...\controller\common\InitialController.java:[20,11] error: cannot find symbol
    [ERROR] symbol:   class IWebProvisionCorporativeFacade
...

jar 文件位于 WEB-INF/lib 中。但是当我安装 maven 时我不接受它。尽管如此,在编译时我没有错误,因为网络应用程序看到了这个 jar

这是我的 pom.xml

....  
  <dependencies>

            <!-- Spring -->

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-expression</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <!-- Tiles -->

            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.15</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.jms</groupId>
                        <artifactId>jms</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jdmk</groupId>
                        <artifactId>jmxtools</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jmx</groupId>
                        <artifactId>jmxri</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.5.6</version>
            </dependency>

            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
            </dependency>

            <dependency>
                <groupId>org.apache.tiles</groupId>
                <artifactId>tiles-servlet</artifactId>
                <version>3.0.0</version>
            </dependency>

            <dependency>
                <groupId>org.apache.tiles</groupId>
                <artifactId>tiles-jsp</artifactId>
                <version>3.0.0</version>
            </dependency>

            <!-- Test -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>

        </dependencies>

        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>2.4</version>
                        <configuration>
                            <source>${compiler.version}</source>
                            <target>${compiler.version}</target>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <argLine>-XX:-UseSplitVerifier</argLine>
                        </configuration>
                    </plugin>
                </plugins>
            </pluginManagement>
            <finalName>Web_provision</finalName>
        </build>
...
4

1 回答 1

0

要引用包含 的 JAR 文件secosol.alartec.core.facades.webProvision,请使用mvn install:install-file目标。它将在您的本地存储库中安装工件并使其可供 Maven 使用。

然后,您可以将其添加到 pom.xmldependencies部分中(提供 groupdId、artifactId 和版本)。您可以通过调用来验证它是否已添加到项目的依赖项中mvn dependency:tree

于 2013-11-04T08:32:49.787 回答