0

現在の Web プロジェクトの一部のコードを変更して、Spring トランザクション管理を追加しました。Eclipse にデプロイしたり、ワークスペースで「Maven クリーン」および「Maven インストール」を呼び出したりしても、すべて正常に動作します。ただし、継続的インテグレーション サーバー (jenkins) が離れたサーバーに再デプロイしようとすると、java.lang.VerifyError が発生して失敗します。

maven-glassfish-plugin:2.1:deploy (default-cli) @ myApp --- [INFO] asadmin --host localhost --port 4848 --user admin --passwordfile C:\Windows\TEMP\mgfp2047875868831547735.tmp --interactive=false --echo=true --terse=true deploy --name myApp --force=false --precompilejsp=false --verify=false --enabled=true --generatermistubs=false --availabilityenabled=false --keepreposdir=false --keepfailedstubs=false --logReportedErrors=true --upload=false --help=false C:\.jenkins\workspace\First_deploy\target\myApp-0.0.1.war
[ERROR] com.sun.enterprise.admin.cli.CommandException: remote failure: Exception while loading the app : java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'analysisDAO': Injection of persistence dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory': Post-processing of the FactoryBean's object failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.methodSecurityMetadataSourceAdvisor': Cannot resolve reference to bean 'org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource#0' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource#0': Cannot create inner bean '(inner bean)' of type [org.springframework.security.access.prepost.PrePostAnnotationSecurityMetadataSource] while setting constructor argument with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot create inner bean '(inner bean)' of type [org.springframework.security.access.expression.method.ExpressionBasedAnnotationAttributeFactory] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'expressionHandler' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'expressionHandler' defined in ServletContext resource [/WEB-INF/spring/security-config.xml]: Cannot resolve reference to bean 'projectPermissionEvaluator' while setting bean property 'permissionEvaluator'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'projectPermissionEvaluator': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: public fr.services.interfaces.IProjectService fr.services.security.ProjectPermissionEvaluator.projectService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'projectService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: public fr.services.interfaces.IProjectRightsService fr.services.impl.ProjectService.projectRightService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'projectRightService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: public fr.dao.IDAOFactory fr.services.impl.ProjectRightService.daoFactory; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myAppDAOFactory': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'agriculturalToolDao' defined in ServletContext resource [/WEB-INF/spring/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.VerifyError: Expecting a stackmap frame at branch target 43 in method fr.model.application.Projet.equals(Ljava/lang/Object;)Z at offset 4

私はjdk1.7(サーバーをチェックしましたが、環境変数にある適切なJDKです)、maven、およびGlassfishを使用しています。ここに私のpom.xmlがあります:

<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>means</groupId>
    <artifactId>means</artifactId>
    <version>0.0.1</version>
    <packaging>war</packaging>
    <profiles>
        <profile>
            <id>mavenplugin-server</id>
            <activation>
                <property>
                    <name>environment</name>
                    <value>server</value>
                </property>
            </activation>
            <properties>
                <glassfish.home>C:\MEANS\Glassfish\glassfish</glassfish.home>
                <glassfish.adminPort>4848</glassfish.adminPort>
                <glassfish.httpPort>8080</glassfish.httpPort>
                <glassfish.httpsPort>8443</glassfish.httpsPort>
            </properties>
        </profile>
        <profile>
            <id>mavenplugin-server-production</id>
            <activation>
                <property>
                    <name>environment</name>
                    <value>server-production</value>
                </property>
            </activation>
            <properties>
                <glassfish.home>C:\MEANS\Glassfish\glassfish</glassfish.home>
                <glassfish.adminPort>4949</glassfish.adminPort>
                <glassfish.httpPort>8282</glassfish.httpPort>
                <glassfish.httpsPort>8553</glassfish.httpsPort>
            </properties>
        </profile>
        <profile>
            <id>mavenplugin-local</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <glassfish.home>C:\MEANS\Glassfish\glassfish</glassfish.home>
                <glassfish.adminPort>4848</glassfish.adminPort>
                <glassfish.httpPort>8080</glassfish.httpPort>
                <glassfish.httpsPort>8443</glassfish.httpsPort>
            </properties>
        </profile>
    </profiles>
    <properties>
        <org.springframework.version>3.0.5.RELEASE</org.springframework.version>
        <eclipselink.version>2.4.0</eclipselink.version>
    </properties>
    <repositories>
        <repository>
            <id>EclipseLink Repo</id>
            <url>http://download.eclipse.org/rt/eclipselink/maven.repo</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.release</id>
            <name>EBR Spring Release Repository</name>
            <url>http:// repository.springsource.com/maven/bundles/release</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.external</id>
            <name>EBR External Release Repository</name>
            <url>http:// repository.springsource.com/maven/bundles/external</url>
        </repository>
    </repositories>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <outputDirectory>build2</outputDirectory>
        <testSourceDirectory>src/test</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <webXml>${basedir}\WebContent\WEB-INF\web.xml</webXml>
                    <warSourceExcludes>${basedir}\WebContent\*</warSourceExcludes>
                    <resource>
                        <excludes>
                            <directory>${basedir}/WebContent</directory>
                            <exclude>**/*.java</exclude>
                        </excludes>
                    </resource>
                    <webResources>
                        <resource>
                            <directory>${basedir}\src\fr</directory>
                            <targetPath>WEB-INF\classes\fr</targetPath>
                            <excludes>
                                <exclude>**/*.java</exclude>
                            </excludes>
                        </resource>
                        <resource>
                            <directory>${basedir}\build2\fr</directory>
                            <targetPath>WEB-INF\classes\fr</targetPath>
                        </resource>
                        <resource>
                            <directory>${basedir}/WebContent/WEB-INF/</directory>
                            <targetPath>WEB-INF/</targetPath>
                            <includes>
                                <include>dispatcher-servlet.xml</include>
                            </includes>
                            <excludes>
                                <exclude>log4j.properties</exclude>
                            </excludes>
                        </resource>
                        <resource>
                            <directory>${basedir}/WebContent/WEB-INF/</directory>
                            <targetPath>WEB-INF/</targetPath>
                            <includes>
                                <include>dispatcher-servlet.xml</include>
                            </includes>
                        </resource>
                        <resource>
                            <directory>${basedir}/WebContent/WEB-INF/</directory>
                            <targetPath>WEB-INF/classes/</targetPath>
                            <includes>
                                <include>log4j.properties</include>
                            </includes>
                        </resource>
                        <resource>
                            <directory>${basedir}/src/META-INF</directory>
                            <targetPath>WEB-INF/classes/META-INF/</targetPath>
                            <includes>
                                <include>persistence.xml</include>
                            </includes>
                        </resource>
                        <resource>
                            <directory>${basedir}/WebContent/</directory>
                            <targetPath></targetPath>
                        </resource>
                    </webResources>

                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.1</version>
                <configuration> 
                    <argLine>-XX:-UseSplitVerifier</argLine>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.glassfish.maven.plugin</groupId>
                <artifactId>maven-glassfish-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <user>admin</user>
                    <echo>true</echo>
                    <adminPassword>means2012!</adminPassword>
                    <glassfishDirectory>${glassfish.home}</glassfishDirectory>
                    <components>
                        <component>
                            <name>${project.artifactId}</name>
                            <artifact>${project.build.directory}/${project.build.finalName}.war</artifact>
                        </component>
                    </components>
                    <domain>
                        <name>${project.artifactId}</name>
                        <adminPort>${glassfish.adminPort}</adminPort>
                        <httpPort>${glassfish.httpPort}</httpPort>
                        <httpsPort>${glassfish.httpsPort}</httpsPort>
                    </domain>
                </configuration>
            </plugin>

        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.15</version>
            <scope>compile</scope>
              <exclusions>
                <exclusion>
                  <groupId>javax.mail</groupId>
                  <artifactId>mail</artifactId>
                </exclusion>
                <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.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.6.11</version>
        </dependency>

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.6.11</version>
        </dependency>

        <!-- <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjtools</artifactId>
            <version>1.6.2</version>
        </dependency>
         -->
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>eclipselink</artifactId>
            <version>${eclipselink.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.core</artifactId>
            <version>${eclipselink.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa</artifactId>
            <version>${eclipselink.version}</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.jpa.modelgen</artifactId>
            <version>${eclipselink.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.moxy</artifactId>
            <version>${eclipselink.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.sdo</artifactId>
            <version>${eclipselink.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.eclipse.persistence</groupId>
            <artifactId>org.eclipse.persistence.oracle</artifactId>
            <version>${eclipselink.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <!-- <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-asm</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
         -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.1.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.1.0.Alpha1</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>maven-glassfish-plugin</artifactId>
            <version>1.0-alpha-4</version>
            <type>maven-plugin</type>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>3.1.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-aspects</artifactId>
            <version>3.1.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>3.1.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>3.1.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
            <version>3.1.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>3.2.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>net.sf.opencsv</groupId>
            <artifactId>opencsv</artifactId>
            <version>2.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3</version>
        </dependency>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.2</version>
        </dependency>
    </dependencies>
</project>

この投稿に示されているように、maven-surefire-plugin を追加しようとしました: How do I get unit test to run in Java 7: java.lang.VerifyError: Expecting a stackmap frame at branch target but without success... As I'私はMavenの専門家ではありません.私の設定で何が間違っているのかを見つけるのは非常に難しいので、どんな助けでも大歓迎です! 前もって感謝します

4

5 に答える 5

0

いつか誰かを助けるかもしれない場合に備えて、私はこの問題を解決し、すべてが私のアプリで再び動作するようになりました...問題はglassfishのインストールに起因するため、私のコードとは関係ありませんでしたいくつかのコード行を出力します)。別のグラスフィッシュにデプロイするとうまくいくことがわかったので、グラスフィッシュサーバーを再インストールしたところ、問題は解決しました! 残念ながら、私はそれに一週間以上費やしました...とにかく助けてくれてありがとう!

于 2013-08-27T15:37:26.270 に答える
0

私の知る限り、AspectJ はバージョン 1.7.0 以降の Java 7 のみをサポートしています。

AspectJ のバージョンを 1.6.11 から 1.7.3 (利用可能な最新のもの) にアップグレードしてみてください。

于 2013-06-24T09:21:31.283 に答える