2

私はmavenを使用してコンパイルするstruts2プロジェクトに取り組んでいます。さまざまな場所にあるjavascriptファイルを縮小しようとしています。

<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>yuicompressor-maven-plugin</artifactId>
    <version>1.3.0</version>
    <executions>
      <execution>
        <goals>
          <goal>compress</goal>
        </goals>
      </execution>
    </executions>        
    <configuration>
      <nosuffix>true</nosuffix>
    </configuration>
  </plugin>

これを行うことで、すべてのjsファイルが縮小され、本番WARファイルの元のファイルに置き換えられると思います(nosuffixの定義による)。

しかし、そうではないようです。どうすればこれを達成できますか?

次に、接尾辞が付いたものを使用することを選択した場合、jspファイルのスクリプト参照を手動で変更する必要があると思いますが、それは正しいですか?もしそうなら、サフィックスのないオリジナルを削除するように設定するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

3

私はここで実用的な解決策を見つけました。基本的に、以下をpom.xmlに配置する必要があります(src / main / webappフォルダー内のjsファイルとcssファイルへのパスのみを置き換えます)。

    <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <webResources>
                    <!-- Add minified resources -->
                    <resource>
                        <directory>${project.build.directory}/minimized</directory>
                        <targetPath>/</targetPath>
                        <filtering>false</filtering>
                    </resource>
                </webResources>
            </configuration>
        </plugin>

        <plugin>
            <groupId>net.alchim31.maven</groupId>
            <artifactId>yuicompressor-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>compress</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <nosuffix>true</nosuffix>
            </configuration>
        </plugin>
    </plugins>

    <pluginManagement>
        <plugins>
            <!-- Javascript and CSS files compression -->
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>yuicompressor-maven-plugin</artifactId>
                <version>1.1</version>
                <configuration>
                    <!-- Don't output in the default webapp location, since the war plugin will overwrite the files in there
                    with the original, uncompressed ones. -->
                    <webappDirectory>${project.build.directory}/minimized</webappDirectory>
                    <jswarn>false</jswarn>
                    <!-- Overwrite existing files -->
                    <nosuffix>true</nosuffix>
                    <includes>
                        <include>%path to your js and css files inside src/main/webapp%/**/*</include>
                    </includes>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
    </build>
于 2012-10-05T10:40:31.670 に答える