我正在努力让Appfuse + tomcat + jRebel工作.
Appfuse默认使用Cargo下载tomcat(版本7.0.33)并将应用程序部署到它.我希望使用已安装的tomcat(版本7.0.27)而不是下载的tomcat.我根据appfuse FAQ进行了更改.
部署后mvn cargo:run
,我怎么知道实际运行的tomcat确实是7.0.27?
我曾经在错误页面中输入错误的URL(例如localhost:8080/dfsfsdf)以查看它,但现在它什么都没显示.
我$CATALINA_HOME
指向我自己的tomcat 7.0.27.对不起忘记提及,它适用于Windows
更新:
由于这个问题在某种程度上受欢迎,我想解释为什么接受这个问题.很简单,这是第一个解决了我的问题.
看看问题的标题, @ Tech Junkie和@CPU 100确实有最好的答案,但不是我遇到的情景.(我想知道是否mvn cargo:run
运行我安装的tomcat或"嵌入项目"tomcat) :)
我使用AppFuse创建了一个基本的应用程序shell,并按照AppFuse教程使用Jax-RS创建了一个简单的RESTful服务.这很好用.调用http://localhost:8080/services/api/persons
将Person对象的集合作为具有正确数据的Json格式字符串返回.
我现在想要从Appfuse公开的RESTful服务中访问ServletRequest
和ServletResponse
对象(使用另一个需要这些对象的库).
我认为应该通过添加@Context注释来实现,例如关注此StackOverflow帖子和此论坛帖子.
但是,如果我添加@Context标记(见下文),它编译正常但在服务器重新启动时抛出异常(附在底部).
这是以下声明@WebService
:
@WebService
@Path("/persons")
public interface PersonManager extends GenericManager<Person, Long> {
@Path("/")
@GET
@Produces(MediaType.APPLICATION_JSON)
List<Person> read();
...
}
Run Code Online (Sandbox Code Playgroud)
这里是我认为我会称之为@Context
注释的实现类:
@Service("personManager")
public class PersonManagerImpl extends GenericManagerImpl<Person, Long> implements PersonManager {
PersonDao personDao;
@Context ServletRequest request; // Exception thrown on launch if this is present
@Context ServletContext context; // Exception thrown on launch of this is present
...
}
Run Code Online (Sandbox Code Playgroud)
希望我错过了一些简单的东西,要么包括要使其工作,要么意识到获得ServletRequest是不可能的,因为......任何线索都会受到欢迎.
我在IntelliJ的Tomcat上运行它. …
Appfuse vs. Roo,你会用什么?为什么?
每个人的甜点是什么?
当我使用${fn:contains()}"
它时会导致以下异常:
org.apache.taglibs.standard.lang.jstl.parser.ParseException: EL functions are not supported
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个例外?
如果我需要下载更新版本的jstl.jar&standard.jar,任何人都可以给我发送链接吗?
提前致谢.
我正在寻找有经验的用户对spring roo和appfuse的反馈.您认为哪种方法可以更好地逆向工程数据库表并生成服务层,dao层和jpa实体?
如果我没有弄错的话,spring roo目前无法对数据库进行逆向工程.
我是第一次建立一个弹簧应用程序.我遇到了很多并发问题,我怀疑我管理后端的方式有问题.我可以看到我的后端代码和我见过的示例之间的唯一区别是经理类.
在我的代码中,我有我的模型(由hibernate管理)和我的DAO,在模型上进行CRUD /搜索/等.在我看过的示例代码中,他们从不直接使用DAO.相反,他们使用间接调用DAO的管理器类.对我来说,这似乎是无意义的代码重复.
这些经理课程是什么?我已经读过他们将我的代码包装在"交易"中,但为什么我会想要呢?
我正在尝试创建一个AppFuse原型,用于使用Spring源创建一个使用Hibernate,Spring和Spring MVC的Web应用程序.
但是我收到以下错误.
Unable to create project from archetype [org.appfuse.archetypes:appfuse-basic-spring:RELEASE]
The defined artifact is not an archetype
Run Code Online (Sandbox Code Playgroud)
以下是截图.
我必须使用不同的log4j.xml和属性文件,这些文件将在Dev和Production中使用.我正在使用maven进行建筑和包装.有没有办法让maven在POM中通过可配置的maven属性选择dev或prod,或者传递一个运行时变量?
谢谢,阿比
我正在使用 Appfuse 开发我的应用程序。我有一个例外,如下所示。我猜休眠映射有一个问题,特殊列名ADSL_DEVICE.VALIDATE(使用符号)导致错误。请帮我解决这个问题。
Hibernate: select NODE_ID_SEQ.nextval from dual
Hibernate: insert into NODE (AREA_ID, DESCRIPTION, FIRMWARE_VERSION, IS_ENABLE, IS_VISIBLE, MIB_VERSION, NAME, PARENT_ID, NODE_TYPE_ID, SERIAL_NUMBER, SHORT_NAME, ID) 值???????,,,,,,)
休眠:INSERT INTO ADSL_DEVICE(ADSL_NAME,ADSL_SERIAL_NUMBER,CONNECTION_REQUEST,HARDWARE_VERSION,IP_ADDRESS,制造商,OUI,PRODUCT_CLASS,PROVISIONING_CODE,SOFTWARE_VERSION,VALIDATE?,NODE_ID)值(,, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
警告 - SqlExceptionHelper.logExceptions(143) | SQL 错误:1747,SQLState:42000
错误 - SqlExceptionHelper.logExceptions(144) | ORA-01747: 无效的 user.table.column、table.column 或列规范测试运行:1,失败:0,错误:1,跳过:0,经过的时间:9.289 秒 <<< 失败!testAddAdslFirmware(org.appfuse.dao.AdslDeviceDaoTest) 已用时间:8.249 秒 <<< 错误!org.hibernate.exception.SQLGrammarException: ORA-01747: 无效的 user.table.column、table.column 或列规范
@Entity
@Table(name = AdslDevice.TABLE_NAME, uniqueConstraints =
@UniqueConstraint(columnNames = AdslDevice.SERIAL_NUMBER))
@PrimaryKeyJoinColumn(name …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从Appfuse Archetype开始构建一个应用程序,但是我遇到了一些奇怪的问题.曾经有一次我想使用hsqldb进行自动单元测试和集成测试,并使用mysql db进行手动测试,这样我就可以在需要时轻松操作数据,所以最好自动切换配置文件.测试阶段.有没有办法做到这一点?
我有一个项目,其中3个war-modules包装在耳模块中.我的问题是每个库模块都包含在每个war-modules中,以及ear-module中,这使得生成的ear-file非常大(目前大约190MB).
我遵循了关于使用maven制作瘦小战争的教程:http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html
有了这个,我设法将耳朵的大小降低到45MB左右,这很好,但是当我试图部署到glassfish时,它抱怨了一些错过的课程.
我发现这是因为对appfuse-struts的依赖,它被打包为war-file.这包括在其中一个战争项目中使用战争依赖性.
由于制作瘦战争的教程表明,战争中发现的所有依赖关系也必须在耳边定义.我试过这个,但appfuse-struts依赖是一个warpath使得这不起作用.(当只向war pom添加war依赖时,它会抱怨它找不到某些类,并且在添加warpath依赖时,maven也会抱怨它不知道warpath是什么.)
当战争使用warpath依赖时,有没有人知道用瘦小的战争制造耳朵的方法?
我在下面设置了以下配置参数struts.xml
:
<constant name="struts.devMode" value="false" />
<constant name="struts.configuration.xml.reload" value="true" />
<constant name="struts.i18n.reload" value="false" />
Run Code Online (Sandbox Code Playgroud)
并在struts.properties
: struts.devMode=false
webconsole.html
页面仍在加载.如何解决这个问题?
appfuse ×12
java ×9
maven ×3
java-ee ×2
maven-2 ×2
spring ×2
spring-roo ×2
ear ×1
hibernate ×1
jax-rs ×1
jstl ×1
oracle ×1
rest ×1
servlets ×1
skinny-war ×1
struts2 ×1
tomcat ×1
transactions ×1
unit-testing ×1
war ×1