零全零美(www.zzgwt.com)
          生活中的很多事情,并不像If...Else那么簡單!
          posts - 96,comments - 52,trackbacks - 0
               摘要: 出現的問題:一個裝有CentOs的VPS不知道為什么重啟之后,出現網站無法連接數據庫的現象:
          Can't connect to MySQL server on 'www.zzgwt.com' (13) 此處域名也可以使IP,我習慣用域名直接連接數據庫,因為重新解析域名后,不用再修改數據庫配置了但是本地通過數據庫管理工具如:Navicat for MySql卻是能夠正常連接!
          網上查了很多文章,發現又是SELinux(Linux上的強制訪問控制安全模塊)惹得禍,很想關閉它,但是據說他是系統被攻破后的最后一道防線,那就暫時記錄此類問題的解決方案,以后有時間的話,好好研究一下這個SELinux!
            閱讀全文
          posted @ 2012-09-09 16:02 零全零美 閱讀(3496) | 評論 (1)編輯 收藏

              由于開發www.website371.comwww.modaotea.com 兩個網站時使用的框架是自己寫的,其中有一個工具是模擬hibernate的思路,動態生成對象關系映射!中間利用freemarker生成.java類!但是始終存在一個很大的問題,就是生成的.java文件,沒有辦法直接編譯,當然最好的結果當然是自動編譯后能達成JAR包,直接放在工程里!
              研究好了半天,終于找到一種解決方案,既然是用JAVA生成.java文件自動編譯并打成JAR包,
          那第一步自然就是用JAVA執行CMD命令了(注意多個命令之間要用“&&”隔開哦,在這個問題上浪費了我很多時間!)
          第二步:利用javac編譯.java文件(因.java依賴包過多,如果手寫要累死了!!這里正好使用:System.getProperty("java.class.path"))
          第三步:利用jar命令打包
          全部代碼如下:

          public final static String FILE_PATH = "d:\\db2java\\";
              
          public final static String PACKAGE_PATH = "com/zzsb/beans/";
              
          public final static String CLASS_FILE_PATH = FILE_PATH+"classes";
                  String cmd 
          = "cmd /c cd /d " + FILE_PATH + 
                  
          " && " +
                  
          "javac -classpath "+ System.getProperty("java.class.path"+" "+ FILE_PATH+PACKAGE_PATH + "*.java " + 
                  
          " && " +
                  
          "jar cf bean-"+TABLE_SCHEMA+"-"+ DateUtil.getCurrentDate14() +".jar " + PACKAGE_PATH+"*.class" +
                  
          " && " +
                  
          "jar cf bean-source-"+TABLE_SCHEMA+"-"+ DateUtil.getCurrentDate14() +".jar " + PACKAGE_PATH+"*.java" +
                  
          " && " +
                  
          "jar cf bean-all-"+TABLE_SCHEMA+"-"+ DateUtil.getCurrentDate14() +".jar " + PACKAGE_PATH+"*.*" 
                  ;
                  System.out.println(cmd);
                  Process p 
          = Runtime.getRuntime().exec(cmd);


          可以看一下控制臺輸出的代碼,您就明白了:

          cmd /c cd /d d:\db2java\ && javac -classpath E:\job\workspace\DianLiang\WebRoot\WEB-INF\classes;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\acegi-security-1.0.7.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\activation.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\axis.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\axis-ant.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\bonecp-0.7.1.RELEASE.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-attributes-api.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-attributes-compiler.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-beanutils-1.8.3.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-cli-1.2.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-codec-1.3.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-collections-3.2.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-configuration-1.4.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-discovery-0.2.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-fileupload-1.2.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-io-2.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-lang-2.5.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-logging.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-pool-1.4.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\ezmorph-1.0.6.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\freemarker.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\guava-r09.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\javassist.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jaxrpc.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jdbcspy.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jodconverter-2.2.2.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jodconverter-cli-2.2.2.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\json_simple-1.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\json-lib-2.2.3-jdk15.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\juh-3.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jurt-3.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jxl.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\kaptcha-2.3.2.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\log4j-1.2.15.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\mail.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\mysql-connector-java-5.1.13-bin.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\ognl-2.7.3.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\quartz-2.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\ridl-3.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\saaj.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\slf4j-api-1.6.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\slf4j-jdk14-1.6.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\unoil-3.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\urlrewrite-3.2.0.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\wsdl4j-1.5.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\xstream-1.3.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\bean-dianliang-20120723181047.jar d:\db2java\com/zzsb/beans/*.java  && jar cf bean-dianliang-20120724232924.jar com/zzsb/beans/*.class && jar cf bean-source-dianliang-20120724232924.jar com/zzsb/beans/*.java && jar cf bean-all-dianliang-20120724232924.jar com/zzsb/beans/*.*

          看看System.getProperty()都為我們提供了什么有用信息吧!

          java.version

          Java 運行時環境版本

          java.vendor

          Java 運行時環境供應商

          java.vendor.url

          Java 供應商的 URL

          java.home

          Java 安裝目錄

          java.vm.specification.version

          Java 虛擬機規范版本

          java.vm.specification.vendor

          Java 虛擬機規范供應商

          java.vm.specification.name

          Java 虛擬機規范名稱

          java.vm.version

          Java 虛擬機實現版本

          java.vm.vendor

          Java 虛擬機實現供應商

          java.vm.name

          Java 虛擬機實現名稱

          java.specification.version

          Java 運行時環境規范版本

          java.specification.vendor

          Java 運行時環境規范供應商

          java.specification.name

          Java 運行時環境規范名稱

          java.class.version

          Java 類格式版本號

          java.class.path

          Java 類路徑

          java.library.path

          加載庫時搜索的路徑列表

          java.io.tmpdir

          默認的臨時文件路徑

          java.compiler

          要使用的 JIT 編譯器的名稱

          java.ext.dirs

          一個或多個擴展目錄的路徑

          os.name

          操作系統的名稱

          os.arch

          操作系統的架構

          os.version

          操作系統的版本

          file.separator

          文件分隔符(在 UNIX 系統中是“/”)

          path.separator

          路徑分隔符(在 UNIX 系統中是“:”)

          line.separator

          行分隔符(在 UNIX 系統中是“/n”)

          user.name

          用戶的賬戶名稱

          user.home

          用戶的主目錄

          user.dir

          用戶的當前工作目錄

          本文所提供的方法解決了使用JAVA動態編譯現有工程中的源文件的簡便方法,順便說一下有空可以去www.modaotea.com 喝茶,老板人不錯,對茶這塊很專業,不像我這種苦逼的程序員,無聊透頂啊!
          文章原創,轉載請以超鏈接形式標明文章原始出處和作者

          posted @ 2012-07-24 23:44 零全零美 閱讀(1528) | 評論 (1)編輯 收藏
          主站蜘蛛池模板: 兴海县| 迁安市| 惠安县| 淮北市| 屯门区| 获嘉县| 曲水县| 永顺县| 新巴尔虎左旗| 三河市| 库伦旗| 万荣县| 玛多县| 潮州市| 资溪县| 甘泉县| 莱阳市| 台湾省| 遂昌县| 察隅县| 海林市| 安国市| 昆山市| 泾源县| 塔城市| 祁门县| 六安市| 十堰市| 永宁县| 金堂县| 焉耆| 唐山市| 岑溪市| 平安县| 盐源县| 蓬安县| 万年县| 武强县| 顺平县| 雅安市| 山东省|