◎筱米加步枪◎.Blog

Happy coding

Jbpm4.3和Tomcat6.0兼容问题

最近在研究,想自己随便搞个请假流程,环境是Jbpm4.3 Tomcat6.0,出师不利,刚启动Tomcat就报如下错误:

javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature

百度之得原因:

原来Jbpm4.3 下的juel.jar, juel-engine.jar, juel-impl.jar包和Tomcat6.0中的el-api.jar包冲突了。

解决方法如下:

 1.将juel.jar, juel-engine.jar, juel-impl.jar拷贝到Tomcat6.0 的lib目录下

2.删除Tomat6.0中lib下的el-api.jar

3.要把项目中的juel.jar, juel-engine.jar, juel-impl.jar包去掉

OK~~再测试成功~~

Eclipse下安装GPD插件的方法

GPD(Graphical Process Designer )图形化流程定义,是一个插件,可安装与Eclipse中,用户可视化的开发流程定义的文件(*.jpdl.xml),其实就是编辑xml文件而已,只是他这个插件符合JPDL的规范,就类似于MyEclipse中的可以对Struts的配置文件进行可视化编辑一样。现在来讲讲安装GPD插件的具体步骤:

1.下载jpbm-4.3.zip 下载地址:sourceforge.net/projects/jbpm/files/

2.在Eclipse中 [ Help ]>> [ install new software ] 在弹出框中选择 [ add ] 按钮 在弹出的小框框中选择 [ Archive.. ] 按钮 添加刚才下载好的东西 :选择{jbpm_home}/install/src/gpd/jbpm-gpd-site.zip 在出现的组件中全选然后一路next直到finish即可,如图:

 

Log4e插件安装和使用

偶发发现这一个东东,Log4e是一个插件,是log4j日志很好的一个编写助手,Log4e是一个免费的Eclipse插件,它可帮助你在你的Java工程中快速加入日志。而且Log4e可以帮助你把System.out.println转成日志的输出,非常方便,还可以瞬间移除代码中的日志代码,无需我们一个一个找到然后再删除

Log4e的插件的下载地址:log4e.jayefem.de/content/view/3/1/

下载然后解压放在MyEclipse的安装目录的dropins文件夹下,然后重启MyEclipse即可。

然后在编写代码工作区,右键便有个Log4e的选项,如图:

JBoss下的log4j 配置

搞了一个上午~~终于在Jboss下成功的将想要的信息写到文件里去了~~

贴个相关配置以及解释~~

<!-- ###
		### 输出方式是 文件 的形式输出 DailyRollingFileAppender 是每天一个文件 
		### 拓展:log4j输出方式有5种,分别是:
		###	1.org.apache.log4j.ConsoleAppender(控制台)
		### 2.org.apache.log4j.FileAppender(文件)
		### 3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
		### 4.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
		### 5.org.apache.log4j.RollingFileAppender(每次都产生一个日志文件)
		### -->
   <appender name="FileRequest" class="org.jboss.logging.appender.DailyRollingFileAppender">
      <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>

	  <!-- ### 指定文件的路径 -->
      <param name="File" value="${jboss.server.log.dir}/sendRequest.log"/>

	  <!-- ### 在重启服务时,设置是否往原有记录继续添加.
	       ### true:继续添加 false:删除掉原来的再添加 -->
      <param name="Append" value="false"/>

	  <!-- ### 类似于过滤器,把低于指定日志级别的日志不显示出来
	       ### 日志级别从高到低:OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL -->
	  <param name="Threshold" value="DEBUG"/>  

	  <!-- Rollover at midnight each day -->
      <param name="DatePattern" value="'.'yyyy-MM-dd"/>   

	  <!-- ### 配置日志的输出格式
		   ###%m 输出代码中指定的消息
		   ###%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
		   ###%r 输出自应用启动到输出该log信息耗费的毫秒数
		   ###%c 输出所属的类目,通常就是所在类的全名
		   ###%t 输出产生该日志事件的线程名
		   ###%n 输出一个回车换行符
		   ###%d 输出日志时间点的日期或时间{yyyy-MM-dd HH:mm:ss,SSS}
	       ###%l 输出日志事件的发生位置,包括类目名|发生线程|在代码中的行数 -->
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{HH:mm:ss} %m%n"/>
      </layout>
   </appender>


   <!-- ### 定义日志名
        ### additivity 是设置是否继承标志父类输出源的标志
		### true:会在父输出源中输出 false:只会在自己定义的输出源输出-->
   <category name="com.shine.proxy.SendRequest" additivity="false">
        <!-- ###定义输出级别 -->
        <priority value="DEBUG" />
		<!-- ###定义引用的Appender -->
		<appender-ref ref="FileRequest"/>
   </category>

   <!--
     ### 对于上一段,还可以有如下写法:
		 <logger name="com.shine.proxy.SendRequest" additivity="false">
			<level value="DEBUG" />
			<appender-ref ref="FileRequest"/>
		 </logger>
     -->

MyEclipse 代码没有提示 解决办法

囧~~~突然间就不行了~~就不能用了~~

百度之得解:

【window】>>【Preferences】>>【Java】>>【Editor】>>【Content Assist】>>【Advanced 】
上面的选项卡(Select the proposal kinds contained in the 'default' content assist list:)

中把 Type Java Proposals 选项打上勾就可以了。

如图: