je suivais le guide http://appfuse.org/display/APF/Using+Struts+2 pour faire un site appfuse simple, mais j'ai eu une erreur lors de la compilation avec Maven, qui rapporte org.appfuse.webapp.action.BaseAction n'existe pas.l'importation org.appfuse.webapp.action.BaseAction ne peut pas résoudre
J'ai cherché beaucoup de google avec aucune chance, quelqu'un peut-il me donner des conseils, apprécier pour n'importe quelle aide, idée ou conseiller. Thankyou
deux maven 2.2.1 et 3 produit même erreur: utilisant archétype: appfuse-struts-base-archétype, v.2.1.0-M1
commande maven:
mvn archetype:generate -B -DarchetypeGroupId=org.appfuse.archetypes -
DarchetypeArtifactId=appfuse-basic-struts-archetype -DarchetypeVersion=2.1.0-M1
-DgroupId=com.mycompany -DartifactId=myproject
à ce pt, test mvn ou jetée: run-war n'ont pas généré d'erreur.
cependant, quand j'ajouter 2 classes (PersonActionTest et PersonAction) comme ci-dessous, il ne parviennent pas à compiler
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;
}
}
Message d'erreur:
[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] ^^^^^^^^^^^^^^^^^
tronquée comme le reste de msg est similaire
Merci ~
steven
Vous devez fournir plus de détails. Avez-vous utilisé un archétype? Si oui, fournissez la commande. Avez-vous vérifié les sources? Si oui, fournissez la commande. –
Merci, l'information détaillée a été postée – Mythox