0

私がやりたいことは、プロジェクト (プロジェクト A) 内の 2 つの既存のクラスを変更することです。これらのクラスは .class 型です。別のプロジェクト (プロジェクト B) で maven shade を使用して、プロジェクト A のこれらのクラスを指摘し、それらに変更を加えて、プロジェクト (プロジェクト A) に送り返したいと考えています。

これどうやってするの?

これまでのところ、プロジェクト (B) を作成し、maven shade プラグインを pom ファイルに追加して、変更したいクラスを指摘しようとしました。これが正しい方法かどうかはわかりません。

これは私のpomファイルです:

   <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/xsd/maven- 
   4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>logic-rexster</groupId>
   <artifactId>logic-rexster</artifactId>
  <version>0.0.1-SNAPSHOT</version>
 <build>
<sourceDirectory>src</sourceDirectory>
<plugins>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
      <source>1.7</source>
      <target>1.7</target>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.3</version>
        <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <artifactSet>
                            <includes>
                                <include>com.tinkerpop.rexster:rexster-server:*:*</include>
                            </includes>
                        </artifactSet>
                                  <filters>
                    <filter>
                        <artifact>rexster-server:rexster-server</artifact>
                        <includes>
                            <!-- These classes will be taken directly from dependency JAR -->
                            <include>/rexster-server/com/tinkerpop/rexster/server/RexsterApplicationProvider.class</include>
                            <include>/rexster-server/com/tinkerpop/rexster/filter/AbstractSecurityFilter.class</include>
                        </includes>
                    </filter>
                </filters>
                  <transformers>
                    <transformer implementation=
                      "org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
                      <resource>LogicRexsterApplicationProvider</resource>
                      <file>RexsterApplicationProvider</file>
                    </transformer>
                  </transformers>
                    </configuration>
                </execution>
            </executions>
  </plugin>
</plugins>
    </build>
    <dependencies>
     <dependency>
       <groupId>com.tinkerpop.rexster</groupId>
       <artifactId>rexster-server</artifactId>
       <version>2.4.0</version>
   </dependency>

   </dependencies>
   </project>

やりたい修正について: RexsterApplicationProvider.class クラスを修正したいです。AbstractSecurityFilter.class クラスからいくつかのものをコピーするには

[更新] 新しいプロジェクト (B) の src フォルダーに変更したい 2 つのクラスを追加しました。(これらのクラスは、ここに追加する前に逆コンパイルされています。)

ここからどこへ行けばいいですか?

4

0 に答える 0