java web 开发问题总结 5 原创-胡志广

181 myEclipse插件菜单 add hibernate capabilities 不可用的解决办法

myEclipse搭建hibernate框架后,有时搞乱了某些东西后,又想重新加载Hibernate包,但此时 add hibernate capabilities 功能菜单竟然是灰色的,不可用,尤其是初学的朋友往往要重建web项目,一切都要重新来过。

到项目的根目录下找到.profile文件,打开在最下方找到

 

<natures>
  <nature>com.genuitec.eclipse.hibernate.hibernatenature</nature>
   <nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>
   <nature>org.eclipse.jdt.core.javanature</nature>
</natures>

 hibernate相关项删除,保存。然后选中项目,在进行add hibernate capabilities 操作,即可正常!

182 Hibernate操作Oracle报错: java.sql.SQLException: 不支持的特性 解决

我遇到的问题是因为有了2oracle驱动包冲突了,换成一个class14就可以了

 

 

183 Spring3+Hibernate3事务处理问题之aop类找不到

使用Spring3集成hibernate3,在添加声明式事务管理后,测试,发现抛出
Caused by: java.lang.NoClassDefFoundError: org/aopalliance/aop/Advice
在网上Google了一把,原因是Spring3缺少相应的jaraopalliance.jar,搜索,下载,添加。
测试成功。

 

 

184 java.lang.NoClassDefFoundError: javax/transaction/

解决java.lang.NoClassDefFoundError: javax/transaction/TransactionManager问题办法是:

下个jta.jar就可以了。很不好意思做了上面错误的回答。

下载地址:http://java.sun.com/products/jta/

 

185 Struts2.1.8.1 Unable to load configuration 解决方案

报如下错误时:

Parsing configuration file [struts-default.xml]
2009-12-16 15:43:48 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/E:/apache-tomcat-6.0.20/webapps/Web/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:47:178

 

解决:

增加common-fileupload.jar

 

186 Linux添加/删除用户和用户组

1、建用户:

adduser phpq                             //新建phpq用户
passwd phpq                               //
phpq用户设置密码

2、建工作组

groupadd test                          //新建test工作组

3、新建用户同时增加工作组

useradd -g test phpq                      //新建phpq用户并增加到test工作组

注::-g 所属组 -d 家目录 -s 所用的SHELL


4、给已有的用户增加工作组

usermod -G groupname username

或者:gpasswd -a user group

5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。

或者使用如下命令关闭用户账号:

passwd peter –l

重新释放:

passwd peter –u

6、永久性删除用户账号

userdel peter

groupdel peter

usermod –G peter peter   
(强制删除该用户的主目录和主目录下的所有文件和子目录)

7、从组中删除用户
编辑/etc/group 找到GROUP1那一行,删除 A
或者用命令

gpasswd -d A GROUP

8、显示用户信息

id user
cat /etc/passwd

 

 

187 linux 修改hosts

vi /etc/hosts 修改主机名和绑定主机ip

java web 开发问题总结 5 原创-胡志广_第1张图片

 

 

188 powerDesigner内不能对表等信息进行操作的解决方法

当右键图形,点击”protect symbol”,那么图形将被保护起来,无法进行操作,那么现在需要点击symbol菜单中的”unprotect symbol”选项

 

java web 开发问题总结 5 原创-胡志广_第2张图片

 

 

java web 开发问题总结 5 原创-胡志广_第3张图片

 

189.spring update不执行的问题解决

<bean id="txManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager">

    <property name="sessionFactory" ref="sessionFactory"/>

  </bean>

  <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

       <property name="dataSource">

           <ref bean="dataSource" />

       </property>

  </bean>

 

  <tx:advice id="txAdvice" transaction-manager="txManager">

      <tx:attributes>

        <tx:method name="get*" read-only="true"/>

        <tx:method name="save*" propagation="REQUIRED"/>

        <tx:method name="update*" propagation="REQUIRED"/>

        <tx:method name="del*" propagation="REQUIRED"/>

        <tx:method name="import*" propagation="REQUIRED"/>

        <tx:method name="export*" propagation="REQUIRED"/>

        <tx:method name="*" read-only="true" propagation="NEVER"/>

      </tx:attributes>

  </tx:advice>

    <aop:config proxy-target-class="true">

     <aop:pointcut id="allManagerMethod" expression="execution(* com.jdodrc.auth.manager.*.*(..))||execution(* com.jdodrc.saa.manager.*.*(..))"/>

     <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod"/>

</aop:config>      

 

配置方式如上,当执行auth中的managerupdate,有时不进行操作,这是什么原因呢?

试验后发现,如果当对象没有进行更改数据的情况下,spring会判断是否和数据库一致,如果一致就不进行更新,如果不一致则进行更新,所以这时就知道为什么有时候查完数据后,数据不进行更新了,和事务代理没有关系,上面的配置完全正确.

 

190.struts2 404

Struts2 全部报404,在配置中有问题

       <constant name="struts.action.extension" value="do" />

这个给注销掉了,所以扩展名不对,找不到路径了

 

191.JS一些常用事件

 

<html>

<head>

<title>这是我的练习</title>

<script language="javascript">

 

</script>

</head>

<body onLoad="alert('加载事件')" onSubmit=alert('表单提交')>

<form>

<input type="text" id="" value="123" size="15" onChange="alert('内容改变')">

<input type="button" id="" value="计算" onClick=alert('这是我的事件')>

<input type="text" id="" value="我获得焦点了" size="15" onFocus="alert('我获得焦点了')">

<input type="text" id="" value="我失去焦点了" size="15" onBlur="alert('我失去焦点了')">

<input type="text" id="" value="鼠标悬停事件"size="15"onMouseOver="alert('鼠标悬停事件')">

<input type="text" id="" value="鼠标移出事件" size="15"onMouseOut="alert('鼠标移出事件')">

<input type="text" id="" value="鼠标移动事件"size="15"onMouseMove="alert('鼠标移动事件')">

<input type="button" id="" value="点击" onMouseDown=alert('鼠标按下事件')>

<input type="button" id="" value="点击" onMouseUp=alert('鼠标弹起事件')>

<input type="submit" id="" value="提交" onSubmit=alert('表单提交')>

</form>

</body>

</html>

 

Oracle11g hibernate 方言

当使用right join 报如下错误时join type not supported by OracleJoinFragment (use Oracle9iDialect/Oracle10gDialect),更换hibernate 方言为Oracle10gDialect

 

因为:

使用的10G的方言。 11g的方言是没有定义。
<
属性name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>

Yeah, looking at the source... 

Code:

MAPPERS.put(
              "Oracle",
              new DatabaseDialectMapper() {
                 public String getDialectClass(int majorVersion) {
                  switch ( majorVersion ) {
                     case 8: return Oracle8iDialect.class.getName();
                     case 9: return Oracle9iDialect.class.getName();
                     case 10: return Oracle10gDialect.class.getName();
                     default: throw new HibernateException( "unknown Oracle major version [" + majorVersion + "]" );
                  }
                 }
              }
      );

 

没有对oralce 11的支持

 

 

 

192.oracle 驱动冲突

如果报如下错误:

Invocation of init method failed; nested exception is java.lang.AbstractMethodError: oracle.jdbc.driver.OracleDatabaseMetaData.supportsGetGeneratedKeys()Z
       
检查项目中是否有包冲突,如class12.jar;ojdbc5 等包是否有重复,2oracle驱动包都有时会出冲突

 

193. id to load is required for loading错误解决方法

当控制台报如下错误时:

java.lang.IllegalArgumentException: id to load is required for loading

 

报这个错误是因为查询找对象的id不存在,检查hibernate中查找对象是否存在

 

 

194.使用net.sf.json.JSON操作json 报错解决方法

转换json对象时,报如下错误:

Exception in thread "main" net.sf.json.JSONException:java.lang.NoSuchMethodException: Property 'c' has no getter method

这里提示类里面的c属性没有get方法,其实不是,是因为如果用net.sf.json.JSON转换json时,转换的类需要是public的,如果是其他的则会报如上错误

 

 

195.jqueryappend实现动态include action的效果

首先,创建一个div,idtest

 

然后写如下jquery的代码:

    $.ajax({

         url: "test/test_left.do",

         cache: false,

         success: function(html){

           //主要是这句用来实现插入效果

           $("#test").append(html);

         }

});

<div id=”test”></div>

 

这样,test/test_left.do加载成功后,test/test_left.do的页面信息将会被追加到test这个div

 

 

196 链接上有虚框,解决方法

在链接中加入该事件代码:

onfocus="this.blur();"

 

<a href="#" onfocus="this.blur();">aaaaa</a>

 

 

197 apache+tomcat 整合配置

1,下载mod_jk-1.2.28-httpd-2.2.3.so ,将其名称改为mod_jk.so,将jk文件copyapache/modules目录下

2,apacheconf/httpd.conf里面加入下面的话

 

#设置ApacheTomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理

LoadModule jk_module modules/mod_jk.so

#此处mod_jk的文件为你下载的文件

JkWorkersFile "E:/tomcat/conf/workers.properties"

#指定tomcat监听配置文件地址,tomcat下的worker.properties文件位置

JkLogFile "E:/tomcat/logs/mod_jk2.log"

#指定日志存放位置

JkLogLevel info

 

#设置虚拟主机,localhost 为本机,根据实际情况可将localhost改为指定ip

<VirtualHost localhost>

#管理员的邮箱

ServerAdmin localhost

#文档的根目录,如项目名称为saa,在webapps/saa,这里需要注意,路径一定要正确,否#apache会找不到路径访问

DocumentRoot "E:/tomcat/webapps/saa"

#您的站点项目所在路径,应与tomcat中的目录设置相同

#服务名称 localhost为本机,这里可以修改为域名,如www.jdodrc.com

ServerName localhost

#这里跳转的是访问页面

DirectoryIndex index.html index.htm index.jsp

ErrorLog logs/shsc-error_log.txt

CustomLog logs/shsc-access_log.txt common

JkMount /servlet/* ajp13

#Apache支持对servlet传送,用以Tomcat解析

JkMount /*.jsp ajp13

#Apache支持对jsp传送,用以Tomcat解析

JkMount /*.do ajp13

#Apache支持对.do传送,用以Tomcat解析

</VirtualHost>

 

3tomcat/conf目录下,创建workers.properties文件

#mod_jk模块知道Tomcat的位置

workers.tomcat_home="D:\Program Files (x86)\tomcat6"

#mod_jk模块知道jre的位置

workers.java_home="D:\Program Files (x86)\Java\jdk1.6.0"

ps=\

 

#模块版本

worker.list=ajp13

#工作端口,若没占用则不用修改

worker.ajp13.port=8009

#本机,若上面的Apache主机不为localhost,作相应修改

worker.ajp13.host=localhost

#类型

worker.ajp13.type=ajp13

#代理数,不用修改

worker.ajp13.lbfactor=1

 

4,检查tomcatserver.xml

5.  <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

<host>…</host>间加入该语句,docBase内填入项目路径,如项目名称为saa

       <Context path="" docBase="E:\tomcat\webapps\saa" debug="0" reloadable="true" crossContext="true"/>

6.重起tomcatapachetomcat先启动,apache后启动),然后在地址栏输入

Localhost:80 localhost:8080应该是一样的,这样表示apachetomcat整合成功。

 

198 Oracle plsqlsqlplus区别

declare   variable

 

199.nutch crawl报错解决方法

执行:bin/nutch crawl urls -dir crawl.demo -depth 2 -threads 100 -topN 100进行爬取时,nutch报如下错误:

crawl started in: crawl.demo

rootUrlDir = urls

threads = 100

depth = 2

indexer=lucene

topN = 100

Injector: starting

Injector: crawlDb: crawl.demo/crawldb

Injector: urlDir: urls

Injector: Converting injected urls to crawl db entries.

Exception in thread "main" java.io.IOException: Job failed!

        at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1252)

        at org.apache.nutch.crawl.Injector.inject(Injector.java:211)

        at org.apache.nutch.crawl.Crawl.main(Crawl.java:124)

 

检查了一下,是因为在修改conf/crawl-urlfilter.txt这个文件中的

# accept hosts in MY.DOMAIN.NAME

+^http://([a-z0-9]*\.)*weitacani.com/

路径时,配置错误,修改后问题就解决了

 

200 Linux查看进程

ps [选项]

  下面对命令选项进行说明

  -e显示所有进程.

  -f全格式.

  -h不显示标题.

  -l长格式.

  -w宽输出.

  a显示终端上的所有进程,包括其他用户的进程.

  r只显示正在运行的进程.

  x显示没有控制终端的进程.

201 nutch导入到eclipes中执行报错解决方法

当在eclipe中导入nutch,,报如下错误,是因为没有在windows中安装, cygwin,安装cygwin,配置环境变量后,重启eclipes 则不会报此错误。

下载地址:http://www.cygwin.com/,执行在线安装,用defult安装即可

环境变量配置:在path中配置D:\file\cygwin\bin即可

Exception in thread "main" java.io.IOException: Cannot run program "chmod": CreateProcess error=2, ?????????

    at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)

    at org.apache.hadoop.util.Shell.runCommand(Shell.java:149)

    at org.apache.hadoop.util.Shell.run(Shell.java:134)

    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:286)

    at org.apache.hadoop.util.Shell.execCommand(Shell.java:354)

    at org.apache.hadoop.util.Shell.execCommand(Shell.java:337)

    at org.apache.hadoop.fs.RawLocalFileSystem.execCommand(RawLocalFileSystem.java:481)

    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:473)

    at org.apache.hadoop.fs.FilterFileSystem.setPermission(FilterFileSystem.java:280)

    at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:266)

    at org.apache.hadoop.mapred.JobClient.configureCommandLineOptions(JobClient.java:573)

    at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:761)

    at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:730)

    at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1249)

    at org.apache.nutch.crawl.Injector.inject(Injector.java:217)

    at org.apache.nutch.crawl.Crawl.main(Crawl.java:124)

Caused by: java.io.IOException: CreateProcess error=2, ?????????

    at java.lang.ProcessImpl.create(Native Method)

    at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)

    at java.lang.ProcessImpl.start(ProcessImpl.java:30)

    at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)

    ... 15 more

 

 

202 启动oracle 数据库流程

1)启动数据库实例

sqlplus '/as sysdba'

startup

2)启动oracle监听

ORACLE_HOME/bin/lsnrctl start

 

3)启动oralce 控制台

ORACLE_HOME/bin/emctl start dbconsole

 

完成上面2步骤oracle就已经启动了,第三步启动控制台是为了方便操作oracle

 

203 Jskeydown事件应用,并兼容IEFF 等浏览器

概念
onkeypress
onkeyuponkeydown区别:

onkeypress
这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。
onkeyup
这个事件在用户放开任何先前按下的键盘键时发生。
onkeydown
这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。

解决onkeydownIEFF中的兼容问题
IE
浏览器中:

var keycode = event.keyCode;

FireFoxOpera浏览器中:

var keycode = e.which;

总结简便写法如下:

 var currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;//支持IEFF

完整demo如下:

<button type="button" onclick="searchAuction();" id="btn_selector">
  <label>精确筛选</label>
</button>
<script type="text/javascript">
function keydown(e) {
var currKey=0,e=e||event;
currKey=e.keyCode||e.which||e.charCode;//支持IEFF
if (currKey == 13) {
document.getElementById("btn_selector").click();
}
}
document.onkeydown = keydown;//onkeydown事件调用方式
</script>

 

 

204 Struts2 解决命名空间路径问题

比如路径为/list/list.do

命名空间为/list

那么如果访问/list/list.do,这样可以访问到;

但是如果/list/***/list.do,中间添加上任意字符,也是可以访问到list.do

因为命名空间是是从最深的地方去寻找路径,如/list/list1/list2/…/list.do,如果可以找到,则为list.do,如果没有则一级一级往上找,如果到根目录没有的话,那么则报404

但是如果有,那么随意输入/list/***/list.do,那么便随意路径都可以访问到,如果想控制,只能用/list/list.do访问

那么在struts2的配置文件中加入:

<constant name="struts.mapper.alwaysSelectFullNamespace="value="true"></constant>

将这里设置为true ok了,就可以控制访问了。

 

 

 

205 struts.properties常用配置

### 指定加载struts2配置文件管理器,默认为org.apache.struts2.config.DefaultConfiguration
None### 
开发者可以自定义配置文件管理器,该类要实现Configuration接口,可以自动加载struts2配置文件。
None# struts.configuration
=org.apache.struts2.config.DefaultConfiguration
None
None### 
设置默认的locale和字符编码
None# struts.locale=en_US
Nonestruts.i18n.encoding=UTF-8
None
None
None### 
指定struts的工厂类
None# struts.objectFactory = spring
None
None### 
指定spring框架的装配模式
None### 
装配方式有: name, type, auto, and constructor (name 是默认装配模式)
Nonestruts.objectFactory.spring.autoWire = name
None
None### 
该属性指定整合spring时,是否对bean进行缓存,值为true or false,默认为true.
Nonestruts.objectFactory.spring.useClassCache = true
None
None### 
指定类型检查
None#struts.objectTypeDeterminer = tiger
None#struts.objectTypeDeterminer = notiger
None
None### 
该属性指定处理 MIME-type multipart/form-data,文件上传
None# struts.multipart.parser=cos
None# struts.multipart.parser=pell
Nonestruts.multipart.parser=jakarta
None
指定上传文件时的临时目录,默认使用 javax.servlet.context.tempdir 
Nonestruts.multipart.saveDir=
Nonestruts.multipart.maxSize=2097152
None
None### 
加载自定义属性文件 (不要改写struts.properties!)
None# struts.custom.properties=application,org/apache/struts2/extension/custom
None
None### 
指定请求urlaction映射器,默认为org.apache.struts2.dispatcher.mapper.DefaultActionMapper
None#struts.mapper.class=org.apache.struts2.dispatcher.mapper.DefaultActionMapper
None
None### 
指定action的后缀,默认为action
Nonestruts.action.extension=action
None
None### 
 FilterDispatcher使用
None### 
如果为 true 则通过jar文件提供静态内容服务
None### 
如果为 false 则静态内容必须位于 <context_path>/struts
Nonestruts.serve.static=true
None
None### 
 FilterDispatcher使用
None### 
指定浏览器是否缓存静态内容,测试阶段设置为false,发布阶段设置为true.
Nonestruts.serve.static.browserCache=true
None
None### 
设置是否支持动态方法调用,true为支持,false不支持.
Nonestruts.enable.DynamicMethodInvocation = true
None
None### 
设置是否可以在action中使用斜线,默认为false不可以,想使用需设置为true.
Nonestruts.enable.SlashesInActionNames = false
None
None### 
是否允许使用表达式语法,默认为true.
Nonestruts.tag.altSyntax=true
None
None
None### 
设置当struts.xml文件改动时,是否重新加载.
None### - struts.configuration.xml.reload = true
None### 
设置struts是否为开发模式,默认为false,测试阶段一般设为true.
Nonestruts.devMode = false
None
None### 
设置是否每次请求,都重新加载资源文件,默认值为false.
Nonestruts.i18n.reload=false
None
None###
标准的UI主题
None### 
默认的UI主题为xhtml,可以为simple,xhtmlajax
Nonestruts.ui.theme=xhtml
None###
模板目录
Nonestruts.ui.templateDir=template
None#
设置模板类型可以为 ftl, vm, or jsp
Nonestruts.ui.templateSuffix=ftl
None
None###
定位velocity.properties 文件.  默认 velocity.properties
Nonestruts.velocity.configfile = velocity.properties
None
None### 
设置velocitycontext.
Nonestruts.velocity.contexts =
None
None### 
定位toolbox.
Nonestruts.velocity.toolboxlocation=
None
None### 
指定web应用的端口.
Nonestruts.url.http.port = 80
None### 
指定加密端口
Nonestruts.url.https.port = 443
None### 
设置生成url时,是否包含参数.值可以为: none, get or all
Nonestruts.url.includeParams = get
None
None### 
设置要加载的国际化资源文件,以逗号分隔.
None# struts.custom.i18n.resources=testmessages,testmessages2
None
None### 
对于一些web应用服务器不能处理HttpServletRequest.getParameterMap()
None### 
 WebLogic, Orion, and OC4J等,须设置成true,默认为false.
Nonestruts.dispatcher.parametersWorkaround = false
None
None### 
指定freemarker管理器
None#struts.freemarker.manager.classname=org.apache.struts2.views.freemarker.FreemarkerManager
None
None### 
设置是否对freemarker的模板设置缓存
None### 
效果相当于把template拷贝到 WEB_APP/templates.
Nonestruts.freemarker.templatesCache=false
None
None### 
通常不需要修改此属性.
Nonestruts.freemarker.wrapper.altMap=true
None
None### 
指定xslt result是否使用样式表缓存.开发阶段设为true,发布阶段设为false.
Nonestruts.xslt.nocache=false
None
None### 
设置struts自动加载的文件列表.
Nonestruts.configuration.files=struts-default.xml,struts-plugin.xml,struts.xml
None
None### 
设定是否一直在最后一个slash之前的任何位置选定namespace.
Nonestruts.mapper.alwaysSelectFullNamespace=false

 

 

206 Linux 下安装gcc问题解决方法

[root@jdodrc oracle_linux_support]# rpm -ivh gcc-4.1.2-48.el5.x86_64.rpm

warning: gcc-4.1.2-48.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e85                                                                                                                     62897

error: Failed dependencies:

        glibc-devel >= 2.2.90-12 is needed by gcc-4.1.2-48.el5.x86_64

        libgomp >= 4.1.2-48.el5 is needed by gcc-4.1.2-48.el5.x86_64

[root@jdodrc oracle_linux_support]# rpm -ivh glibc-devel-2.5-49.i386.rpm

warning: glibc-devel-2.5-49.i386.rpm: Header V3 DSA signature: NOKEY, key ID e85                                                                                                                    62897

error: Failed dependencies:

        glibc-headers is needed by glibc-devel-2.5-49.i386

        glibc-headers = 2.5-49 is needed by glibc-devel-2.5-49.i386

[root@jdodrc oracle_linux_support]# rpm -ivh glibc-headers-2.5-49.x86_64.rpm

warning: glibc-headers-2.5-49.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID                                                                                                                      e8562897

error: Failed dependencies:

        kernel-headers is needed by glibc-headers-2.5-49.x86_64

        kernel-headers >= 2.2.1 is needed by glibc-headers-2.5-49.x86_64

 

安装gcc需要有一些依赖和支持

在执行安装gcc-4.1.2-48.el5.x86_64.rpm时,系统报出了gcc需要如下2个包支持:

glibc-devel >= 2.2.90-12 is needed by gcc-4.1.2-48.el5.x86_64

        libgomp >= 4.1.2-48.el5 is needed by gcc-4.1.2-48.el5.x86_64

一个是glibc-devellibgomp

我们在centos的库中找到了glibc-devel-2.5-49.i386.rpm包,那么我们将

glibc-devel-2.5-49.i386.rpm进行安装,系统报出了:

  glibc-headers is needed by glibc-devel-2.5-49.i386

        glibc-headers = 2.5-49 is needed by glibc-devel-2.5-49.i386

所以glibc-devel-2.5-49.i386.rpm需要glibc-headers包支持的,那么我们安装

glibc-headers-2.5-49.x86_64.rpm包,系统报出了:

kernel-headers is needed by glibc-headers-2.5-49.x86_64

        kernel-headers >= 2.2.1 is needed by glibc-headers-2.5-49.x86_64

所以glibc-headers-2.5-49.x86_64.rpm需要kernel-headers-2.6.18-194.el5.x86_64.rpm支持

那么我们首先开始安装kernel-headers-2.6.18-194.el5.x86_64.rpm

 

安装kernel-headers-2.6.18-194.el5.x86_64.rpm

执行命令

[root@jdodrc oracle_linux_support]# rpm -ivh kernel-headers-2.6.18-194.el5.x86_64.rpm

安装成功

安装glibc-headers-2.5-49.x86_64.rpm

执行命令

[root@jdodrc oracle_linux_support]# rpm -ivh glibc-headers-2.5-49.x86_64.rpm

安装成功

安装glibc-devel-2.5-49.i386.rpm

[root@jdodrc oracle_linux_support]# rpm -ivh glibc-devel-2.5-49.i386.rpm

安装libgomp-4.4.0-6.el5.i386.rpm

执行命令

[root@jdodrc oracle_linux_support]# rpm -ivh libgomp-4.4.0-6.el5.i386.rpm

安装成功

安装gcc-4.1.2-48.el5.x86_64.rpm

执行命令

[root@jdodrc oracle_linux_support]# rpm -ivh gcc-4.1.2-48.el5.x86_64.rpm

安装成功

 

所以安装gcc的安装顺序为:

(1)       libgomp-4.4.0-6.el5.i386.rpm (什么时候安装都可以,但是需要在gcc前安装)

(2)       kernel-headers-2.6.18-194.el5.x86_64.rpm

(3)       glibc-headers-2.5-49.x86_64.rpm

(4)       glibc-devel-2.5-49.i386.rpm

(5)       gcc-4.1.2-48.el5.x86_64.rpm

 

 

centos的中找到如下包

 

 

 

207 Linux 下安装互相有依赖的rpm

当安装elfutils-libelf-devel-0.137-3.el5.i386.rpm包时,会提示需要elfutils-libelf-devel-static-0.137-3.el5.i386.rpm包依赖

当安装elfutils-libelf-devel-static-0.137-3.el5.i386.rpm时,提示需要elfutils-libelf-devel-0.137-3.el5.i386.rpm支持

如下为执行命令后的结果

[root@jdodrc oracle_linux_support]# rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpm

warning: elfutils-libelf-devel-0.137-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

error: Failed dependencies:

        elfutils-libelf-devel-static-i386 = 0.137-3.el5 is needed by elfutils-libelf-devel-0.137-3.el5.i386

[root@jdodrc oracle_linux_support]# rpm -ivh elfutils-libelf-devel-static-0.137-3.el5.i386.rpm

warning: elfutils-libelf-devel-static-0.137-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

error: Failed dependencies:

        elfutils-libelf-devel-i386 = 0.137-3.el5 is needed by elfutils-libelf-devel-static-0.137-3.el5.i3

 

如果要解决这个问题的话,那么我们尝试将2个包一起安装

执行如下命令:

[root@jdodrc oracle_linux_support]# rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpm elfutils-libelf-devel-static-0.137-3.el5.i386.rpm

 

执行后,成功了,哈哈!

我们看操作结果

 

 

208 Linux zip 解压

# unzip yasuo.zip

 

209 Linux下调整tmpfs

当安装oracle时,报了ORA-00845 :MEMORY_TARGET,修改tmpfs进行修改

java web 开发问题总结 5 原创-胡志广_第4张图片

(1)    查看大小

[root@jdodrc shm]# df -h | grep shm

 

 

 

 

2)修改tmpfs

[root@jdodrc shm]# vi /etc/fstab

 

/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1

LABEL=/boot             /boot                   ext3    defaults        1 2

tmpfs                   /dev/shm                tmpfs   defaults,size=3000M 0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0

 

tmpfs 内容进行修改

tmpfs                   /dev/shm                tmpfs   defaults,size=3000M 0 0

 

3)重新挂载

[root@jdodrc shm]# umount /dev/shm

[root@jdodrc shm]# mount /dev/shm

 

4)查看

[root@jdodrc shm]# df -h | grep shm

tmpfs                 3.0G     0  3.0G   0% /dev/shm

tmpfs                 3.0G     0  3.0G   0% /dev/shm

 

 

oracle 11启动时,报错时,也可以通过调整shm进行解决

报如下错误时:

Oralce11startup时报错:

SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

 

 

210 删除oracle

rm -fr  $ORACLE_BASE
rm -f /etc/oratab
rm -f /etc/oraInst.loc
rm -fr /usr/local/bin/dbhome
rm -fr /usr/local/bin/oraenv
rm -fr /usr/local/bin/coraenv

 

211 linux cannot find catalina.sh

今天在linux上搭建java开发环境,在装tomcat6的后。执行startup.sh脚本的时候,总是报 cannot find catalina.sh 

 baidu上找了半天才发现原来 是没有权限的原因,加一个命令就万事OK了。

chmod +x /opt/apache-tomcat6/bin/*.sh 

 

212 linux下配置tomcat JVM

#设置JVM

JAVA_OPTS=-Xms256m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m

catalina.sh文件中加入上述内容

 

 

213 给用户授权目录

[root@jdodrc /]# chown -R oracle:oinstall u01

Oracle 是用户 oinstall是组

[root@jdodrc /]#chmod -R 775 /u01/oracle

 

 

214 mousedown click mouseUp的执行顺序

MouseDown   →   Click   →   MouseUp

 

 

215 Lucene索引版本不一致出现的问题

 

java.io.IOException: Unknown format version: -4
at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:195)

 

用高版本的lucen建立的索引,然后用低版本的lucene去查询,就会出现上面的错误,解决方式将lucene的包修改为一致

 

216 linux启动时跳过某项服务启动

 在启动linux系统时,有时候会卡在启动某项服务那,系统无法启动,

如果你想跳过这项服务的启动,在系统启动时提早按“I”,就可以逐个服务确定启动了

 

 

 

217解决vmware mac地址冲突的问题

网上说通过修改vmx文件中的

uuid.bios = "56 4d 84 6b 37 f2 69 ed-5c 1b 3b 78 e7 23 73 6d"
ethernet0.generatedAddress = "00:0c:29:23:73:6d"

2个内容,而且修改还不能修改红色的地方,只能修改深蓝色的后3个参数

但是我修改后,发现系统内部还是没有对mac地址进行改变

后来发现了uuid.location这个参数,uuid.location这个参数是虚拟机的唯一标示,所以每次我修改后,uuid.location都没有改变

还有一个需要注意的是,当我们把我们虚拟机文件复制位置后,重新打开后,会提示我们:

“I move it”

“I copy it”

 

I Moved it:

由于是移动这个虚拟机,那么只有uuid.location发生变化,MAC地址是没有变化的。

I Copied it:

由于是拷贝虚拟机,那么uuid.biosuuid.location都会发生变化,这是MAC地址就会发生变化。

 

但是你copy虚拟文件时是需要将虚拟文件给关掉电源,再复制,这样后copy it会产生新的uuid序列,也就有了新的mac地址

这样比修改网上说的一般的修改vmx的内容要好

 

 

218 解决vmware 时间同步的问题

Vmware 网上说去修改vmx中的

tools.syncTime = “FALSE" 改为 TRUE

但是我试了试没有什么作用

 

后来按照另一种方法是安装vmware tools的工具,这个还是比较可行的

首先,vm->install vmware tools….

java web 开发问题总结 5 原创-胡志广_第5张图片

 

点击install vmware tools 时:

java web 开发问题总结 5 原创-胡志广_第6张图片

会出现上面的内容,然后把vmwaretools-8.4.5-324285.tar.gz这个文件给进行解压,解压后,运行里面的vmware-install.pl文件,执行./vmware-install.pl命令

根据提示一步一步的安装就可以,然后安装完毕后,回到命令状态,我们重启计算机,重启后我们会发现我们的虚拟机的时间和我们的主机的时间是一样的。

 

你可能感兴趣的:(java,spring,oracle,linux,Hibernate)