maven не создает файл шапки для java карты 3.0.5? - PullRequest
0 голосов
/ 09 марта 2020

Я использую java комплект карты 3.0.5 вместе с java комплектом разработки 1.8.0_60. Я использую версию IntelliJ IDEA Edu и пытаюсь разработать апплет. Я написал коды для этого и знаю, что все в порядке, но когда я запускаю задачу package, она просто создает файл jar, а файл cap не создается.

вот мой pom.xml:

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.test.simapplet</groupId>
    <artifactId>CardApplet</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>
    <name>Card Applet</name>

    <profiles>
        <profile>
            <id>default</id>
            <properties>
                <sourcedirectory>src/main/java</sourcedirectory>
                <javacard.applet.name>CardApplet</javacard.applet.name>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
    </profiles>

    <repositories>
        <repository>
            <id>localrepository</id>
            <url>file://${project.basedir}/lib</url>
        </repository>
    </repositories>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <jc.home>${env.JC_HOME}</jc.home>
        <javacard.package.name>com.test.simapplet</javacard.package.name>
        <javacard.package.aid>0xE0:0xE1:0xE2:0xE3:0xE4:0xE5</javacard.package.aid>
        <javacard.applet.aid>0xE0:0xE1:0xE2:0xE3:0xE4:0xE5:0x01</javacard.applet.aid>
        <javacard.major.version>1</javacard.major.version>
        <javacard.minor.version>0</javacard.minor.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javacard</groupId>
            <artifactId>javacard</artifactId>
            <version>3.0.4</version>
            <scope>system</scope>
            <systemPath>${jc.home}/lib/api_classic.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>sim.jar</groupId>
            <artifactId>sim.jar</artifactId>
            <version>1</version>
            <scope>system</scope>
            <systemPath>${basedir}/lib/sim.jar</systemPath>
        </dependency>
    </dependencies>

    <build>
        <sourceDirectory>${sourcedirectory}</sourceDirectory>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>1.3</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>run</goal>
                            </goals>
                        </execution>
                    </executions>
                    <!-- Convert to cap file -->
                    <configuration>
                        <tasks>
                            <echo message="Converting to CAP file" />
                            <java classname="com.sun.javacard.converter.Converter"
                                  failonerror="true" fork="true">
                                <arg value="-verbose" />
                                <arg value="-classdir" />
                                <arg value="target/classes/" />
                                <arg value="-applet" />
                                <arg value="${javacard.applet.aid}" />
                                <arg value="${javacard.applet.name}" />
                                <arg value="${javacard.package.name}" />
                                <arg value="${javacard.package.aid}" />
                                <arg
                                        value="${javacard.major.version}.${javacard.minor.version}" />
                                <arg value="-nowarn" />
                                <classpath>
                                    <pathelement
                                            location="${jc.home}/api_export_files" />
                                    <pathelement location="${jc.home}/lib/apduio.jar" />
                                    <pathelement
                                            location="${jc.home}/lib/apdutool.jar" />
                                    <pathelement location="${jc.home}/lib/jcwde.jar" />
                                    <pathelement
                                            location="${jc.home}/lib/converter.jar" />
                                    <pathelement
                                            location="${jc.home}/lib/scriptgen.jar" />
                                    <pathelement
                                            location="${jc.home}/lib/offcardverifier.jar" />
                                    <pathelement
                                            location="${jc.home}/lib/capdump.jar" />
                                </classpath>
                            </java>
                            <copy todir="target/">
                                <flattenmapper />
                                <fileset dir="target/classes/">
                                    <include name="**/*.cap" />
                                </fileset>
                            </copy>
                        </tasks>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3.2</version>
                    <configuration>
                        <source>1.2</source>
                        <target>1.1</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.9</version>
                    <configuration>
                        <buildcommands>
                            <buildcommand> org.eclipse.jdt.core.javabuilder </buildcommand>
                        </buildcommands>
                        <projectnatures>
                            <projectnature> org.eclipse.jdt.core.javanature </projectnature>
                        </projectnatures>
                        <classpathContainers>
                            <classpathContainer> org.eclipse.jdt.launching.JRE_CONTAINER </classpathContainer>
                        </classpathContainers>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.7.2</version>
                    <configuration>
                        <skip>true</skip>
                        <testFailureIgnore>true</testFailureIgnore>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

Я не знаю, где я ошибаюсь! Может кто-нибудь помочь мне справиться с этим?

Приложение:

Возникла проблема, выполнение не достигает конвертации файла cap! Эхо не выполнено (<echo message="Converting to CAP file" /> не печатается)

...