gpt4 book ai didi

java - import org.appfuse.webapp.action.BaseAction 无法解析

转载 作者:行者123 更新时间:2023-11-30 05:09:23 25 4
gpt4 key购买 nike

我正在遵循指南http://appfuse.org/display/APF/Using+Struts+2制作一个简单的appfuse站点,但是我在使用Maven编译时遇到错误,报告org.appfuse.webapp.action.BaseAction不存在。

我从谷歌上搜索了很多,但没有运气,任何人都可以给我提示,感谢任何帮助、想法或建议。谢谢

maven 2.2.1 和 3 都产生了相同的错误:使用原型(prototype):appfuse-basic-struts-archetype,v.2.1.0-M1

ma​​ven 命令:

mvn archetype:generate -B -DarchetypeGroupId=org.appfuse.archetypes -
DarchetypeArtifactId=appfuse-basic-struts-archetype -DarchetypeVersion=2.1.0-M1
-DgroupId=com.mycompany -DartifactId=myproject

此时,mvn test 或 jetty:run-war 尚未引发错误。

但是,当我添加如下 2 个类(PersonActionTest 和 PersonAction)时,它无法编译

PersonActionTest: src\test\java\com\mycompany\webapp\webapp\action

package com.mycompany.webapp.action;


import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;
import org.appfuse.service.GenericManager;
import org.appfuse.tutorial.model.Person; \\this fails to compile
import org.appfuse.webapp.action.BaseActionTestCase; \\this fails to compile
import org.springframework.mock.web.MockHttpServletRequest;

public class PersonActionTest extends BaseActionTestCase {
private PersonAction action;

@Override
protected void onSetUpBeforeTransaction() throws Exception {
super.onSetUpBeforeTransaction();
action = new PersonAction();
GenericManager personManager = (GenericManager) applicationContext
.getBean("personManager");
action.setPersonManager(personManager);

// add a test person to the database
Person person = new Person();
person.setFirstName("Jack");
person.setLastName("Raible");
personManager.save(person);
}

public void testSearch() throws Exception {
assertEquals(action.list(), ActionSupport.SUCCESS);
assertTrue(action.getPersons().size() >= 1);
}
}

PersonAction: src\main\java\com\mycompany\webapp\webapp\action

package com.mycompany.webapp.action;


import org.appfuse.webapp.action.BaseAction; \\this fails to compile
import org.appfuse.tutorial.model.Person; \\this fails to compile
import org.appfuse.service.GenericManager;

import java.util.List;

public class PersonAction extends BaseAction {
private GenericManager<Person, Long> personManager;
private List persons;

public void setPersonManager(GenericManager<Person, Long> personManager) {
this.personManager = personManager;
}

public List getPersons() {
return persons;
}

public String list() {
persons = personManager.getAll();
return SUCCESS;
}
}

错误消息:

[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building AppFuse Struts 2 Application 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- aspectj-maven-plugin:1.2:compile (default) @ realtest ---
[ERROR] The import org.appfuse.webapp cannot be resolved
[ERROR] The import org.appfuse.tutorial cannot be resolved
[ERROR] Person cannot be resolved to a type
[ERROR] Person cannot be resolved to a type
[ERROR] personManager cannot be resolved or is not a field
[ERROR] personManager cannot be resolved
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.285s
[INFO] Finished at: Thu Oct 21 09:35:56 CST 2010
[INFO] Final Memory: 6M/27M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:aspectj-maven-plugin:1.2:compil
e (default) on project realtest: Compiler errors :
[ERROR] error at import org.appfuse.webapp.action.BaseAction;
[ERROR] ^^^^^^^^^^^^^^^^^

由于其余消息类似而被截断

谢谢~

史蒂文

最佳答案

我知道这个线程已经很老了,但是我现在多次遇到这个错误,因此我想分享我的解决方案。我最近在以下设置中遇到此错误。* 有一个项目,比如 Util,导入了一个库,例如 dbcp* 另一个项目(例如 App)依赖于 Util,并且各个方面将应用于该项目。* 我向 App 添加了一个新类,它使用传递依赖项,例如,新类 C 实现了 dbcp 中的一些抽象类。因为App依赖于Util,所以dbcp在eclipse中可见,一切正常。但是,当我使用 mvn install 在命令行上编译项目时,aspectj 插件失败,并指出无法解析从 dbcp 的导入。* 包括从 App 到 dbcp 的直接依赖解决了这个问题(对我来说)。

因此,aspectj 不使用传递依赖项,而 java 编译器插件则使用传递依赖项。也许,新的 C 类的位置不是“最佳”位置,它应该移至 Util 项目,但这是一个不同的问题。

希望对来到这个话题的人有所帮助。

关于java - import org.appfuse.webapp.action.BaseAction 无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3980577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com