Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用其他模块中的类时发生IOException_Java_Spring_Maven_Ioexception - Fatal编程技术网

Java 使用其他模块中的类时发生IOException

Java 使用其他模块中的类时发生IOException,java,spring,maven,ioexception,Java,Spring,Maven,Ioexception,如何在其他模块中使用一个模块中的类?有两个java模块common和带有java类的webapp,所以我需要使用common中的webapp模块类 我构建war文件的共同点是pom.xml <build> <finalName>SBRiskDataSvcs</finalName> <plugins> <plugin> <group

如何在其他模块中使用一个模块中的类?有两个java模块common和带有java类的webapp,所以我需要使用common中的webapp模块类 我构建war文件的共同点是pom.xml

       <build>
        <finalName>SBRiskDataSvcs</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.3</version>
                <configuration>
                    <attachClasses>true</attachClasses>
                    <classesClassifier>classes</classesClassifier>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
            </testResource>
        </testResources>
    </build>
完整日志为

[1/23/20 18:19:33:605 MSK]000000 FC SystemOut O警告:请参阅 我需要一个解释。[1/23/20 18:19:33:617 MSK]000000 FC组合UN E WSVR0194E:组合 单位WebSphere:cuname=MyApplication在BLA中 WebSphere:blaname=MyApplication未能启动。[1/23/20 18:19:33:631 MSK]000000 BA AdminHelper A ADMN1009I:尝试启动 MyApplication应用程序。[1/23/20 18:19:33:643 MSK]000000ba 合成UN A WSVR0190I:启动合成单元 BLA中的WebSphere:cuname=MyApplication WebSphere:blaname=MyApplication。 [1/23/20 18:19:39:417 MSK]000000 BA应用程序MG A WSVR0200I: 开始应用程序:MyApplication[1/23/20 18:19:39:420 MSK] 000000 BA应用程序MG A WSVR0204I:应用程序:我的应用程序 应用程序构建级别:未知[1/23/20 18:19:39:596 MSK]000000 BA SIBI消息[:]CWSID0017I:正在为启动配置重新加载 总线RSKbus。[1/23/20 18:19:39:606 MSK]000000 BA SIBI信息[:] CWSID0018I:总线RSKbus的配置重新加载已完成。[1/23/20 18:19:39:611 MSK]000000ba SIBI消息[:]CWSID0019I: 正在启动消息传递引擎的配置重新加载 Cluster1.000-RSKbus。[1/23/20 18:19:39:615 MSK]000000 BASIBMessage
I[:]CWSID0020I:消息传递的配置重新加载已完成 发动机组1.000-RSKbus。[1/23/20 18:19:41:368 MSK]000000 BA网络应用 I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: 正在加载Web模块:MyApplication-webapp-CURRENT.war。[1/23/20 18:19:41:391 MSK]000000 BA WASSessionCor I SessionContextRegistry getSessionContext SESN0176I:将为创建新的会话上下文 应用程序密钥默认值\u主机/MyApplication[1/23/20 18:19:52:694 MSK] 000000 ba webapp I com.ibm.ws.webcontainer.webapp.webapp日志 SRVE0292I:Servlet消息- [MyApplication#MyApplication webapp CURRENT.war]:.1 Spring 在类路径[1/23/20 18:19:52:699]上检测到WebApplicationInitializers MSK]000000ba系统输出[2020-01-23 18:19:52.698]信息 config.webappinitializer WebApp启动。。[1/23/20 18:19:52:826 MSK]000000 BA SystemOut O[2020-01-23 18:19:52.826] INFO config.webappinitializer WebApp已启动。。 [1/23/20 18:19:52:827 MSK]000000 BA网络应用程序I com.ibm.ws.webcontainer.webapp.webapp日志SRVE0292I:Servlet消息- [MyApplication#MyApplication webapp CURRENT.war]:。正在初始化Spring 根Web应用程序上下文[1/23/20 18:19:52:828 MSK]000000 BA SystemOut O[2020-01-23 18:19:52.828]信息 pringframework.web.context.ContextLoader根WebApplicationContext: 初始化已开始[1/23/20 18:19:52:869 MSK]000000 BA SystemOut
O[2020-01-2318:19:52.869]信息 rt.AnnotationConfigWebApplicationContext刷新根目录 WebApplicationContext:启动日期[Thu Jan 23 18:19:52 MSK 2020]; 上下文层次结构的根[1/23/20 18:19:53:020 MSK]000000 BA SystemOut O[2020-01-23 18:19:53.020]信息 rt.AnnotationConfigWebApplicationContext注册带注释 类:[类mypackage.web.WebConfig,类 mypackage.service.ServiceConfig,类 mypackage.persistence.PersistenceConfig][1/23/20 18:19:53:782 MSK] 000000ba系统输出[2020-01-23 18:19:53.782]信息 .support.DefaultListableBeanFactory重写bean定义 对于具有不同定义的bean“requestMappingHandlerMapping”: 替换[Root bean:class[null];作用域=;抽象=false; lazyInit=false;autowireMode=3;dependencyCheck=0; autowireCandidate=true;primary=false; factoryBeanName=org.springframework.web.servlet.config.annotation.delegatingWebMVC配置; factoryMethodName=requestMappingHandlerMapping;initMethodName=null; destroyMethodName=(推断);在中定义 org.springframework.web.servlet.config.annotation.delegatingWebMVC配置] 使用[Root bean:class[null];scope=;abstract=false;lazyInit=false; autowireMode=3;dependencyCheck=0;autowireCandidate=true; primary=false;factoryBeanName=webConfig; factoryMethodName=requestMappingHandlerMapping;initMethodName=null; destroyMethodName=(推断);在mypackage.web.WebConfig中定义] [1/23/20 18:19:54:496 MSK]000000ba系统输出[2020-01-23] 18:19:54.496]INFO-ion.autowiredan注释BeanPostProcessor JSR-330 找到并支持自动连线的“javax.inject.inject”批注 [1/23/20 18:19:55:025 MSK]000000ba系统输出[2020-01-23] 18:19:55.025]信息经济图$$EnhancerBySpringCGLIB$$a25b9480实体 管理器已配置。。[1/23/20 18:19:55:101 MSK]000000 BA SystemOut
O[2020-01-2318:19:55.101]信息 a、 LocalContainerEntityManagerFactoryBean构建JPA容器 持久化单元“默认”的EntityManagerFactory[1/23/20 [2020-01-23 18:19:55.387]000000ba系统输出 INFO org.hibernate.annotations.common.Version HCANN000001:hibernate Commons注解{4.0.1.Final}[1/23/20 18:19:55:403 MSK]000000ba SystemOut O[2020-01-23 18:19:55.403]INFO org.hibernate.Version HH000412:Hibernate核心{4.0.1.Final}[1/23/20 18:19:55:409 MSK] 000000ba系统输出[2020-01-23 18:19:55.409]信息 org.hibernate.cfg.Environment HH000206: 找不到hibernate.properties[1/23/20 18:19:55:413 MSK]000000 ba SystemOut O[2020-01-23 18:19:55.413]信息 org.hibernate.cfg.Environment HH000021:字节码提供程序 名称:javassist[1/23/20 18:19:55:478 MSK]000000 BA SystemOut O [2020-01-23 18:19:55.478]INFO org.hibernate.ejb.ejb3配置
HH000204:正在处理PersistenceUnitInfo[ 名称:默认值 [1/23/20 18:19:55:535 MSK]000000 BA系统输出[2020-01-23 18]
   <dependency>
        <groupId>ru.sberbank.rs.SBDataServices</groupId>
        <artifactId>SBRiskDataSvcs-common</artifactId>
        <version>${project.version}</version>
        <classifier>classes</classifier>
    </dependency>
Caused by: java.io.IOException: invalid constant type: 18
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
        at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892) Caused by: java.lang.RuntimeException: error trying to scan <jar-file>: file:/opt/IBM/WebSphere/AppServer/profiles/Node01/installedApps/Cell01/MyApplication.ear/MyApplication-webapp-CURRENT.war/WEB-INF/lib/MyApplication-common-8.0.5-classes.jar
        at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:854)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:596)
        at org.springframework.orm.jpa.vendor.SpringHibernateEjbPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateEjbPersistenceProvider.java:50)
        at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:336)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)
        ... 70 more Caused by: java.lang.RuntimeException: Error while reading file:/opt/IBM/WebSphere/AppServer/profiles/Node01/installedApps/Cell01/MyApplication.ear/MyApplication-webapp-CURRENT.war/WEB-INF/lib/MyApplication-common-8.0.5-classes.jar
        at org.hibernate.ejb.packaging.NativeScanner.getFilesInJar(NativeScanner.java:193)
        at org.hibernate.ejb.Ejb3Configuration.addScannedEntries(Ejb3Configuration.java:503)
        at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:851)
        ... 78 more Caused by: java.io.IOException: invalid constant type: 18
        at javassist.bytecode.ConstPool.readOne(ConstPool.java:1090)
        at javassist.bytecode.ConstPool.read(ConstPool.java:1033)
        at javassist.bytecode.ConstPool.<init>(ConstPool.java:149)
        at javassist.bytecode.ClassFile.read(ClassFile.java:737)
        at javassist.bytecode.ClassFile.<init>(ClassFile.java:108)
        at org.hibernate.ejb.packaging.AbstractJarVisitor.checkAnnotationMatching(AbstractJarVisitor.java:245)
        at org.hibernate.ejb.packaging.NativeScanner.getFilesInJar(NativeScanner.java:190)
        ... 80 more [1/23/20 18:19:55:547 MSK] 000000ba webapp        E com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: Exception caught while initializing context: {0}
                                 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in mypackage.persistence.PersistenceConfig: Invocation of init method failed; nested exception is java.lang.RuntimeException: error trying to scan <jar-file>: file:/opt/IBM/WebSphere/AppServer/profiles/Node01/installedApps/Cell01/MyApplication.ear/MyApplication-webapp-CURRENT.war/WEB-INF/lib/MyApplication-common-8.0.5-classes.jar
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
        at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
        at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
        at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892) Caused by: java.lang.RuntimeException: error trying to scan <jar-file>: file:/opt/IBM/WebSphere/AppServer/profiles/Node01/installedApps/Cell01/MyApplication.ear/MyApplication-webapp-CURRENT.war/WEB-INF/lib/MyApplication-common-8.0.5-classes.jar
        at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:854)
        at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:596)
        at org.springframework.orm.jpa.vendor.SpringHibernateEjbPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateEjbPersistenceProvider.java:50)
        at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:360)
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:382)
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:371)
        at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:336)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)
        ... 70 more Caused by: java.lang.RuntimeException: Error while reading file:/opt/IBM/WebSphere/AppServer/profiles/Node01/installedApps/Cell01/MyApplication.ear/MyApplication-webapp-CURRENT.war/WEB-INF/lib/MyApplication-common-8.0.5-classes.jar
        at org.hibernate.ejb.packaging.NativeScanner.getFilesInJar(NativeScanner.java:193)
        at org.hibernate.ejb.Ejb3Configuration.addScannedEntries(Ejb3Configuration.java:503)
        at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:851)
        ... 78 more Caused by: java.io.IOException: invalid constant type: 18
        at javassist.bytecode.ConstPool.readOne(ConstPool.java:1090)
        at javassist.bytecode.ConstPool.read(ConstPool.java:1033)
        at javassist.bytecode.ConstPool.<init>(ConstPool.java:149)
        at javassist.bytecode.ClassFile.read(ClassFile.java:737)
        at javassist.bytecode.ClassFile.<init>(ClassFile.java:108)
        at org.hibernate.ejb.packaging.AbstractJarVisitor.checkAnnotationMatching(AbstractJarVisitor.java:245)
        at org.hibernate.ejb.packaging.AbstractJarVisitor.executeJavaElementFilter(AbstractJarVisitor.java:211)
        at org.hibernate.ejb.packaging.AbstractJarVisitor.addElement(AbstractJarVisitor.java:172)
        at org.hibernate.ejb.packaging.FileZippedJarVisitor.doProcessElements(FileZippedJarVisitor.java:123)
        at org.hibernate.ejb.packaging.AbstractJarVisitor.getMatchingEntries(AbstractJarVisitor.java:148)
        at org.hibernate.ejb.packaging.NativeScanner.getFilesInJar(NativeScanner.java:190)
        ... 80 more

[1/23/20 18:19:55:554 MSK] 000000ba webapp        I com.ibm.ws.webcontainer.webapp.WebApp log SRVE0292I: Servlet Message - [MyApplication#MyApplication-webapp-CURRENT.war]:.Closing Spring root WebApplicationContext
@Configuration
@EnableTransactionManagement
@EnableJpaAuditing
@EnableJpaRepositories(basePackages = {"mypackage.persistence"})
@ComponentScan(basePackages = {"mypackage.persistence", "persistence"})
public class PersistenceConfig {
    private static final String[] PACKAGE_WITH_JPA_ENTITIES = {
            "mypackage.persistence",
            "persistence"
    };

    private final Logger log = Logger.getLogger(getClass());

    @Bean
    @Resource(type = DataSource.class, lookup = "jdbc/DATA", name = "jdbc/DATA")
    public DataSource dataSource() {
        final JndiDataSourceLookup dsLookup = new JndiDataSourceLookup();
        dsLookup.setResourceRef(true);
        DataSource dataSource = dsLookup.getDataSource("java:comp/env/jdbc/DATA");
        return dataSource;
    }

    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
        LocalContainerEntityManagerFactoryBean entityManager = new LocalContainerEntityManagerFactoryBean();
        entityManager.setDataSource(dataSource());
        entityManager.setPackagesToScan(PACKAGE_WITH_JPA_ENTITIES);
        entityManager.setJpaVendorAdapter(new HibernateJpaVendorAdapter());
        entityManager.setJpaProperties(getHibernateProperties());
        log.info("Entity Manager configured..");
        return entityManager;
    }

    @Bean
    public JpaTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) {
        JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setEntityManagerFactory(entityManagerFactory);
        return transactionManager;
    }

    private Properties getHibernateProperties() {
        Properties properties = new Properties();
        properties.put("hibernate.dialect", "org.hibernate.dialect.OracleDialect");
        properties.put("hibernate.show_sql", "true");
        properties.put("hibernate.hbm2ddl.auto", "none");
        properties.put("org.hibernate.envers.do_not_audit_optimistic_locking_field", false);

        properties.put("verifyServerCertificate", false);
        properties.put("useSSL", false);
        properties.put("requireSSL", false);
        properties.put("useLegacyDatetimeCode", false);
        properties.put("useUnicode", "yes");
        properties.put("characterEncoding", "UTF-8");
        properties.put("serverTimezone", "UTC");
        properties.put("useJDBCCompliantTimezoneShift", true);
        return properties;
    }
}