Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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 @@Configurable上的Autowire在本地计算机上工作,但不在其他计算机上工作_Java_Spring_Vaadin_Aspectj - Fatal编程技术网

Java @@Configurable上的Autowire在本地计算机上工作,但不在其他计算机上工作

Java @@Configurable上的Autowire在本地计算机上工作,但不在其他计算机上工作,java,spring,vaadin,aspectj,Java,Spring,Vaadin,Aspectj,我有一个很奇怪的问题。也就是说,我正在使用aspectjweaver将SpringBean注入到Vaadin窗口中。当我们在Win机器上将Intellij的应用程序部署到本地的Tomcat时,一切都很正常,但当Jenkins为我们的测试服务器(unix)部署应用程序时,自动连线bean突然变为空。有人知道我们做错了什么吗?以下配置: 配置类: @配置 @依那布瓦定 @EnableLoadTimeWeaving(aspectjWeaving=EnableLoadTimeWeaving.aspect

我有一个很奇怪的问题。也就是说,我正在使用aspectjweaver将SpringBean注入到Vaadin窗口中。当我们在Win机器上将Intellij的应用程序部署到本地的Tomcat时,一切都很正常,但当Jenkins为我们的测试服务器(unix)部署应用程序时,自动连线bean突然变为空。有人知道我们做错了什么吗?以下配置:

配置类:

@配置
@依那布瓦定
@EnableLoadTimeWeaving(aspectjWeaving=EnableLoadTimeWeaving.aspectjWeaving.ENABLED)
@促性腺激素
@EnableSpringConfiguration
@ComponentScan(basePackages={“…”})
公共类VaadinConfiguration扩展了WebMVCConfigureAdapter{
类中出现错误:

@可配置
公共类Myvaadin窗口{
@自动连线
受保护的MyService MyService;
void myMethod(){
myService.doSth();\\n我得到了NPE
}
}
pom.xml

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

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>${spring.version}</version>
</dependency>

org.aspectj
aspectjweaver
1.8.13
org.springframework
春季方面
${spring.version}
我曾想过从LTW改为CTW,但我在尝试将其与Lombok结合使用时遇到了一些错误,Lombok也在本项目中使用

@编辑
我已经成功地切换到编译时编织。我不希望它能工作,但不知怎么的,它解决了我的问题。无论如何,这不是理想的解决方案,所以我将等待一些其他IDE如何解决它,同时保持LWT。

检查本地机、Jenkins机和测试机的JDK、spring、vaadin、aspectj等版本。还要检查tomcatlibs。还检查本地机器上缓存的maven存储库等。检查类路径差异。检查tomcat位置差异。打开spring级别上的跟踪以进行autowire调试。将@Autowired从字段移动到类构造函数,并在找不到先决条件时查看错误日志。谢谢。稍后将对其进行尝试并发布更新。最有可能是在yo中您的本地计算机所需的java代理aspectjweaver已正确设置(VM参数
-javaagent:/path/to/aspectjweaver.jar
),而在测试计算机上未正确设置。