论坛首页 Java企业应用论坛

让你用seam new-project创建的项目也能用上JBossTools的功能。

浏览 13064 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-03-19  
我们可以用jbosstools直接创建Seam的项目, 但是我试了创建war项目还好,创建ear项目的话, 创建出来的都是不能编译的, 而且发布到Jboss deploy目录也是不合法的ear布局。 这些问题虽然可以通过手工修改来解决。但是我觉得还是用seam new-project创建出来的项目结构好很多,而且有很好的ant脚本。可以很方便的执行各种任务,而且我看到seam论坛上有人就说用jbosstools创建的seam的ear项目其实有4个项目(大家可以试试)。 他更喜欢seam new-project创建出来的一种目录的形式。就只有一个目录,用svn也更方便。

Seam2.0.1, JbossTools2.0.0GA(现在已经出了2.0.1GA,请看我在javaeye上发的新闻http://www.iteye.com/news/1554)。

安装好JbossTools后, 你需要在eclipse中设置你的Seam的home。



用seam创建你的项目。请看。 http://docs.jboss.com/seam/2.0.1.GA/reference/en/html/gettingstarted.html#d0e2146

创建玩项目后用eclipse把刚创建的项目导入到eclipse中。File->Import->General->Existed projects into Workspace. 导入后你可能会发现有编译错误。 这个是因为eclipse把这个项目的java compiler设到了1.4. 我们把这个改成5.0就行了。



Jbosstools最好的一项功能是它能自动的识别出项目中所有的component。这个在写xhtml非常方便。而且还能在xhtml中跳转到java code。 更多的jbosstools的功能请看。http://in.relation.to/Bloggers/JBossToolsScreenshots

我们在eclipse中打开Seam Component, Window->Show View->Other->Seam->Seam Component.

我们发现我们刚刚导入的sample项目找不到任何的compoent。Order是我用Jbosstools创建的一个war seam项目。


OK,打开你的.project文件,加入以下的代码。 (不要告诉我你不知道.project在哪里,是干什么用的。)

		<buildCommand>
			<name>org.jboss.tools.common.verification.verifybuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.jboss.tools.seam.core.seambuilder</name>
			<arguments>
			</arguments>
		</buildCommand>


加入之后的.project应该是这样的。

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
	<name>sample</name>
	<comment></comment>
	<projects>
	</projects>
	<buildSpec>
		<buildCommand>
			<name>org.eclipse.jdt.core.javabuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.jboss.tools.common.verification.verifybuilder</name>
			<arguments>
			</arguments>
		</buildCommand>
		<buildCommand>
			<name>org.jboss.tools.seam.core.seambuilder</name>
			<arguments>
			</arguments>
		</buildCommand>		
		<buildCommand>
			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
			<triggers>auto,full,incremental,</triggers>
			<arguments>
				<dictionary>
					<key>LaunchConfigHandle</key>
					<value>&lt;project&gt;/explode.launch</value>
				</dictionary>
			</arguments>
		</buildCommand>
	</buildSpec>
	<natures>
		<nature>org.eclipse.jdt.core.javanature</nature>
		<nature>org.hibernate.eclipse.console.hibernateNature</nature>
		<nature>org.jboss.tools.seam.core.seamnature</nature>
	</natures>
</projectDescription>


OK, 再看下Seam Component, 现在已经可以找到所有的seam component了。



随便写个seam compoenent。
import org.jboss.seam.annotations.Name;

@Name("testELExpression")
public class TestElExpression {
	public String getName() {
		return "deng.yin@gmail.com";
	}
	
	public void doListener() {
		
	}
}


已经有提示了。








   发表时间:2008-03-20  
我用JBoss Tools创建的EAR工程的确有四个项目
zhulu,zhulu-ear,zhulu-ejb,zhulu-test
有点复杂,但勉强还能接受
但没有编译错误 创建后就能运行
0 请登录后投票
   发表时间:2008-03-20  
那我用jbosstools建的ear工程怎么有错误? 虽说jbosstools里面的也是通过Seamgen来实现见action, entity之类的。 但是我感觉用seam new-project创建出来的seam project才是native的。 而且里面的ant脚本比较方便。 用我上面的方法可以让jboss tools支持你用seam new-project建的项目。 要注意的是你只要用用jbosstools建立好server,不需要把项目加到server中(你也加不了,因为不是web项目。只是个java项目)。 当你修改了文件后,会自动运行explode ant脚本。 把你改过的文件copy到jboss deploy中。
0 请登录后投票
   发表时间:2008-03-20  
我的怎么没有作用?
还是空的?
0 请登录后投票
   发表时间:2008-03-20  
Sorry,原来是项目还没有编译。
0 请登录后投票
   发表时间:2008-03-21  
又看了一次楼主的文章和后来的回复
引用
但是我感觉用seam new-project创建出来的seam project才是native的。

也想试试感觉回归的感觉
我的单元运行一直都有问题(不是因为JDK6的问题)
说classes路径有错误
现在想想有可能跟JBossTools的EAR工程有关系
0 请登录后投票
   发表时间:2008-03-21  
大家都在用seam开发项目吗?
0 请登录后投票
   发表时间:2008-03-21  
什么时候Seam可以100%的支持maven2就无敌了。
0 请登录后投票
   发表时间:2008-03-21  
andyhan 写道
什么时候Seam可以100%的支持maven2就无敌了。


http://software.softeu.cz/seam/

这个是seam的maven支持, 但是好像支持的Seam的版本比较低。 不过你可以自己修改pom来支持最新的Seam。 我有试过。 感觉没有用seam new-project创建的项目好。
0 请登录后投票
   发表时间:2008-03-21  
seam new-project的确不错,用eclipse导入就行,只是我一直没有配置自己的component,也不知道怎么显示,谢谢楼主了,回家就尝试一下。

别的不说,jboss tools写xhtml的编辑器实在太强大了,而且也太慢了……
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics