0

struts2-jquery グリッド プラグインでいくつかの拡張を行う必要があります。https://struts2-jquery.googlecode.com/svn/trunkからソースをダウンロードしました。このソースのロジックを変更しました。mvn packageを使用して POM.xml ファイルを実行すると。例外を受け取りました

 "The project com.jgeppert.struts2.jquery:struts2-jquery-grid-plugin:3.5.0-SNAPSHOT 
    have 1 error

        Non-resolvable parent POM:could not find artifact com.jgeppert.struts2.jquery:struts2-
jquery:pom:3.5.0-snapshot and 'Parent.relativePath' points at wrong local POM @line 5,c
olumn 13  "

私の pom.xml ファイルを以下に示します。

<?xml version="1.0"?>
<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>
    <parent>
       <groupId>com.jgeppert.struts2.jquery</groupId>
        <artifactId>struts2-jquery</artifactId>
        <version>3.5.0-SNAPSHOT</version>
    </parent>
    <artifactId>struts2-jaquery-grid-plugin</artifactId>
    <name>Struts 2 jQuery Grid Plugin</name>
    <packaging>jar</packaging>

    <scm>
        <connection>scm:svn:http://struts2-jquery.googlecode.com/svn/trunk/struts2-jquery-grid-plugin</connection>
        <developerConnection>scm:svn:https://struts2-jquery.googlecode.com/svn/trunk/struts2-jquery-grid-plugin</developerConnection>
        <url>http://code.google.com/p/struts2-jquery/source/browse/</url>
    </scm>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.myfaces.tobago</groupId>
                <artifactId>maven-apt-plugin</artifactId>
                <version>1.0.39</version>
                <configuration>
                    <A>
                        uri=/struts-jquery-grid-tags,
                        tlibVersion=${tlib.version},
                        jspVersion=2.0,
                        shortName=sjg,
                        displayName="Struts2 jQuery Grid Tags",
                        outFile=${basedir}/target/classes/META-INF/struts-jquery-grid-tags.tld,
                        description="Struts2 tags based on jQuery and jqGrid.",
                        outTemplatesDir=${basedir}/src/site/docs
                    </A>
                    <resourceTargetPath>target</resourceTargetPath>
                    <fork>false</fork>
                    <force>true</force>
                    <nocompile>true</nocompile>
                    <showWarnings>true</showWarnings>
                    <factory>
                        org.apache.struts.annotations.taglib.apt.TLDAnnotationProcessorFactory
                    </factory>
                    <target>1.5</target>
                    <includes>
                        <include>**/*.java</include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencies>

        <!-- Core -->

        <dependency>
            <groupId>com.jgeppert.struts2.jquery</groupId>
            <artifactId>struts2-jquery-plugin</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts-annotations</artifactId>
            <version>1.0.4</version>
            <optional>true</optional>
        </dependency>

        <!-- JSP API -->

        <!-- struts-annotations must be in compile scope for maven-apt-plugin to
             function correctly. Marking it optional to exclude it from transitive dependency resolution -->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>${struts2.version}</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.5</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

</project>

私の理解では、親タグは別の pom.xml ファイルを参照しています。親タグに相対パスを追加しようとしましたが、うまくいきません。https://struts2-jquery.googlecode.com/svn/trunkに親の pom.xml が表示されませんでした。

親タグを削除して groupid に追加しました 、artifactId & version は 3.5.0-SNAPSHOT として指定され、それも失敗しました。繰り返しますが、3.5.0-SNAPSHOT の代わりに 3.4.0 を変更し、そのビルド .jar ファイルを変更しました。しかし、それは私の変更には影響しませんでした。

コードの最新の変更でpomファイルを実行する方法.pom.xmlファイルを実行する代わりに.jarファイルを作成する代替手段はありますか。

4

2 に答える 2

0

com.jgeppert.struts2.jquery:struts2-jquery-grid-plugin:3.5.0-SNAPSHOTMavenリポジトリにこのようなバージョンがないため、エラーごとにダウンロードしようとしています。

pom を以下の依存関係に置き換えると、正常にビルドされます。

<dependency>
    <groupId>com.jgeppert.struts2.jquery</groupId>
    <artifactId>struts2-jquery-plugin</artifactId>
    <version>3.4.0</version>
</dependency>
于 2012-10-29T11:55:17.457 に答える
0

ビルドが失敗する理由は、依存関係 (親 pom と struts2-jquery-plugin) がローカル リポジトリまたは現在のreactor buildで見つからないためです。リアクター ビルドという用語は、実行元のプロジェクトmvnとすべての子プロジェクトを指し<module>、pom 内の要素によって参照されます。

あなたの場合、次のいずれかが必要です。

  • mvn install親の pom と struts2-jquery-plugin をローカル リポジトリに追加し、実行していることをもう一度試してください。
  • ディレクトリを変更し (つまり、トランク ディレクトリに)、親 pom と struts2-jquery-plugin を含むリアクター ビルドの一部としてグリッド プラグインをビルドします。

最初のアプローチ: チェックアウトのトップレベルに移動した場合、つまりtrunk、次を実行します。

mvn -pl .,struts2-jquery-plugin install

親の pom と struts2-jquery-plugin のスナップショット バージョンがローカル リポジトリにインストールされます。mvn packageその後、グリッド プラグイン ディレクトリで実行できるようになります。

2 番目のアプローチ: からtrunk、次を実行できます。

mvn -am -pl struts2-jquery-grid-plugin package

これにより、リアクター ビルドで見つかったすべての依存関係 (親 pom と struts2-jquery-plugin 自体) と共にグリッド プラグインがビルドされます。

于 2012-10-29T12:08:19.280 に答える