`
dengyin2000
  • 浏览: 1210345 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

    博客分类:
  • Seam
阅读更多
我们可以用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() {
		
	}
}


已经有提示了。








分享到:
评论
15 楼 wetouns 2008-05-28  
这是WTP的一个BUG,如果eclipse使用fall2版本,jboss tools使用2.0.1GA,SEAM使用2.0.1GA版本,那么生成出来的项目就可以正常运行,编译也正常了.这个编译错误的问题是在eclipse的winter版本上的,如果你不想使用前一个版本的eclipse那么新建好工程之后你也可以把application.xml里的那些moudal删掉就可以了
14 楼 fire01312 2008-05-18  
jboss tools 创建的 ear工程 连 seam.jar 都没有部署到ear目录中去 ,每次都我都手动复制, 前提:applicat.xml中的modul 我是配置好了的
13 楼 hantsy 2008-04-30  
seam 官方包本来就加入到了jboss的maven 库,但它缺少一个startkit的artifact,需要自己去组织pom。。。
12 楼 phoenixup 2008-03-24  
dengyin2000 写道
那我用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中。



Seam包提供的gen工具与JBoss Tools提供的居然不兼容,结构有不少差别。JBoos Tools创建的项目不包含ANT脚本,这实在让我费解~我的做法是使用seam new-project创建项目,然后手工编辑pom.xml文件,让其支持Maven,不过使用JBoss Tools支持Compenent,楼主的方法开发更便捷。
11 楼 graying 2008-03-21  
失败了……lz你new-project出来的项目,用eclipse导入时选择什么类型的?我记得好像Ref上面说一定要用普通project的,不知道这个有没有关系。。。
10 楼 graying 2008-03-21  
seam new-project的确不错,用eclipse导入就行,只是我一直没有配置自己的component,也不知道怎么显示,谢谢楼主了,回家就尝试一下。

别的不说,jboss tools写xhtml的编辑器实在太强大了,而且也太慢了……
9 楼 dengyin2000 2008-03-21  
andyhan 写道
什么时候Seam可以100%的支持maven2就无敌了。


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

这个是seam的maven支持, 但是好像支持的Seam的版本比较低。 不过你可以自己修改pom来支持最新的Seam。 我有试过。 感觉没有用seam new-project创建的项目好。
8 楼 andyhan 2008-03-21  
什么时候Seam可以100%的支持maven2就无敌了。
7 楼 caosheng 2008-03-21  
大家都在用seam开发项目吗?
6 楼 打倒小日本 2008-03-21  
又看了一次楼主的文章和后来的回复
引用
但是我感觉用seam new-project创建出来的seam project才是native的。

也想试试感觉回归的感觉
我的单元运行一直都有问题(不是因为JDK6的问题)
说classes路径有错误
现在想想有可能跟JBossTools的EAR工程有关系
5 楼 andyhan 2008-03-20  
Sorry,原来是项目还没有编译。
4 楼 andyhan 2008-03-20  
我的怎么没有作用?
还是空的?
3 楼 dengyin2000 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中。
2 楼 打倒小日本 2008-03-20  
我用JBoss Tools创建的EAR工程的确有四个项目
zhulu,zhulu-ear,zhulu-ejb,zhulu-test
有点复杂,但勉强还能接受
但没有编译错误 创建后就能运行
1 楼 cfanliang 2008-03-19  
学习!
 

相关推荐

Global site tag (gtag.js) - Google Analytics