導航:首頁 > 編程語言 > javabshjar

javabshjar

發布時間:2021-10-23 12:29:24

Ⅰ jar包沖突問題,大家幫我看下,哪些jar包有沖突。

只能說太多了。。。
還不如拿你報錯信息出來 或者自己查 更容易發現。。。

java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException

少包了,需引入這些包

Ⅲ JAVA高手看一下我的JAR包是否有沖突啊

asm.jar刪掉,郁悶。經常會遇到的問題。

linux jdk 配置環境變數 -bash: /java/jdk1.6.0_45/bin: is a directory

1.系統屬性——高級——環境變數——系統變數

2.新建
變數名:JAVA_HOME 變數值:C:\Program Files\Java\jdk1.7.0_05(這只是我的JDK安裝路徑)版
問:如何用命令查權看java的版本信息
答:運行:cmd-->java -version
如:
C:\>java -version
java version "1.6.0_02"
Java(TM) SE Runtime Environment (build 1.6.0_02-b06)
Java HotSpot(TM) Client VM (build 1.6.0_02-b06, mixed mode, sharing)

3.新建
變數名:classpath 變數值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

4.系統變數->編輯->變數名:Path 在變數值的最前面加上:;%JAVA_HOME%\bin;(若已經有Path項,無須另外新建,直接在後)

Ⅳ JAVA高手進 看一下我的JAR包是否沖突了

我隨便看到的幾個重復的包,其他的哥們你自己找吧。刪除那些老版本的。

antlr-2.7.6rc1.jar
antlr.jar

asm-2.2.3.jar
asm.jar

c3p0-0.9.0.jar
c3p0-0.9.1.1.jar

cglib-2.1.3.jar
cglib-nodep-2.1_3.jar

Ⅵ jar包沖突問題,大家幫我看下

難道是version沖突?

Ⅶ 以下這句java -jar命令應該怎麼解釋

java -jar是用來執行打包好的jar文件的命令。官方的文檔里有。
至於後面的參數的意思,你要看bshclient.jar裡面的說明,一般來說程序的說明文檔裡面都會包含每個參數的意思,這個參數跟特定的應用程序有關。
如果你有產生bshclient.jar的源代碼,你看看他的main函數,就知道這些參數的意義了。

Ⅷ beanshell和shell的區別

BeanShell是一種完全符合Java語法規范的腳本語言,並且又擁有自己的一些語法和方法;
BeanShell是一種鬆散類型的腳本語言(這點和JS類似)
BeanShell是用Java寫成的,一個小型的、免費的、可以下載的、嵌入式的Java源代碼解釋器,
具有對象腳本語言特性,非常精簡的解釋器jar文件大小為175k。
BeanShell執行標准Java語句和表達式,另外包括一些腳本命令和語法。
官網:http://www.BeanShell.org/
BeanShell 將成為Java平台上的第三種編程語言,前兩種分別為java和Groovy(也是一種腳本語言)

下載與安裝:
jar: http://www.beanshell.org/download.html

src: http://www.beanshell.org/developer.html
或使用SVN:
svn co http://ikayzo.org/svn/beanshell

doc: http://www.beanshell.org/docs.html

設置環境:
(1) 把bsh-xx.jar放到$JAVA_HOME/jre/lib/ext文件夾下(不推薦);
(2) UNIX: export CLASSPATH=$CLASSPATH:bsh-xx.jar(推薦)
(3) WINDOWS: set classpath %classpath%;bsh-xx.jar(推薦)

運行方式:
(1) 界面UI方式 : java bsh.Console
(2) 命令行方式 : java bsh.Interpreter
(3) 運行腳本文件: java bsh.Interpreter filename [args]

簡單舉例(windows):
設置好環境變數classpath, 打開dos或CMD窗口, 鍵入命令:
java bsh.Console
出現BeanShell的"Bsh Workspace"界面,表示設置成功,BeanShell開始運行;

在使用上面命令出現的控制台界面中進行下面的測試:
bsh % foo="Foo"; //定義變數foo
bsh % four=(2+2)*2/2; //定義變數four並初始化為(2+2)*2/2
bsh % print(foo+"="+four); //輸出 Foo=4
Foo=4 //輸出結果
bsh % for(i=0;i<5;i++)print(i); //循環列印0~4
0
1
2
3
4
bsh % button = new JButton("MyButton"); //實例化一個Button對象
bsh % frame = new JFrame("MyFrame"); //實例化一個Frame對象
bsh % frame.getContentPane().add(button,"Center"); //將Button對象加入Frame對象的面板中;
bsh % frame.pack(); //打包
bsh % frame.setVisible(true); //設置Frame對象的可見性;回車後會彈出一個GUI界面;
bsh %

完整代碼:
foo = "Foo";
four = (2 + 2)*2/2;
print( foo + " = " + four );
for (i=0; i<5; i++)
print(i);
button = new JButton( "My Button" );
frame = new JFrame( "My Frame" );
frame.getContentPane().add( button, "Center" );
frame.pack();
frame.setVisible(true);
在窗口中輸入上面的代碼, 敲回車執行,彈出一個有Button的GUI界面.
說明:
因為BeanShell是鬆散類型的腳本語言因此可以直接寫:
foo = "Foo";
four = (2 + 2)*2/2;
也就是foo與four均不需要變數類型的聲明,給賦什麼類型的值,就是什麼類型的變數;
print()是BeanShell提供一種簡單的列印命令,相當於java中的System.out.println();

腳本中所寫的方法範例:
int addTwoNumbers( int a, int b ) {
return a + b;
}
sum = addTwoNumbers( 5, 7 ); // 12
也可以使用動態的變數類型(無狀態)方法
add(a, b){
return a + b;
}
foo = add(1, 2); // 3
foo = add(1, "2"); //"12"
特別注意:
只要有一個為字元串全部按照字元串處理,
系統不會根據1是數字在前把"2"轉換成數字處理;
foo = add("Oh", " baby"); // "Oh baby"

腳本中實現介面:
實現任何介面需要JDK1.3或者更高,可以使用預設的java匿名類的語法實現一個介面類,例如:
ActionListener scriptedListener = new ActionListener() {
actionPerformed( event ) { ... }
}
不需要實現介面的所有的方法,只需要實現你使用的方法即可, 如果使用你沒有實現的方法,
BeanShell將拋出一個錯誤,如:
ml = new MouseListener() {
mousePressed( event ) { print("test"); }
// handle the rest
invoke( name, args ) {
print("Method: "+name+" invoked!");
}
}

腳本中定義對象:
例一:
使用特殊的關鍵字this可以創建一個對象(根JS類似)
foo() {
print("foo");
x=5;
bar() {
print("bar");
}
return this;
}
myfoo = foo(); // prints "foo"
print( myfoo.x ); // prints "5"
myfoo.bar(); // prints "bar"

例二:
在java標准語言中可以使用this返回一個類的一個實例
// MyClass.java
MyClass {
Object getObject() {
return this; // return a reference to our object
}
}
在這個例子中getObject() 方法是返回MyClass類的一個實例
在BeanShell中對象中的變數只是局部的變數在對象內可以使用,
在對象外是不可以使用的(不同於前面for-loop,if-else中的使用);
// Define the foo() method:
foo() {
bar = 42;
print( bar );
}
// Invoke the foo() method:
foo(); // prints 42
print(bar); // Error, bar is undefined here
這里的print(bar);會拋出異常:
// Error: EvalError: Undefined argument: bar : at Line: 1 : in file: <unknown file> : ( bar )
但可以使用this返回對象,使用對象加上"."運算符引用屬性(類似JS)
foo() {
bar = 42;
return this;
}
fooObj = foo();
print( fooObj.bar ); // prints 42
同樣對象中也可以定義一些方法,例如:
foo() {
int a = 42;
bar() {
print("The bar is open!");
}
//bar();
return this;
}
// Construct the foo object
fooObj = foo(); // prints "the bar is open!"
// Print a variable of the foo object
print ( fooObj.a ) // 42
// Invoke a method on the foo object
fooObj.bar(); // prints "the bar is open!"
也可以定義bar()和foo()也帶參數:
foo() {
bar(int a) {
print("The bar is open!" + a);
}
return this;
}
foo().bar(1);
也可以把bar()方法定義到對象外面
foo() {
return this;
}
bar(int a) {
print("The bar is open!" + a);
}
foo().bar(1); //其實就是bar(1);
BeanShell一種鬆散的腳本語言, 有很多中聲明的方法可以使用:
This super global
This 是引用當前對象
Super 是引用父親對象
Global 是引用最上層對象
super.super.super...foo = 42; // Chain super. to reach the top
global.foo = 42;

BeanShell(Bsh)調用外部Java類的兩種方式:
(1) 方法一(直接調用.java源文件)
sourceRelative("xxx.java");
利用sourceRelative()方法把java的源代碼引入bsh環境中,然後進行調用。
這種方法不需要編譯引用的java源文件,缺點也很明顯"無法利用javac來檢查java代碼"。
(2) 方法二(通過引用.class二進制文件)
import xxx;
利用傳統的java import機制來獲取java類,然後在bsh環境中進行調用。
需要編譯.java文件;
方便調用第三方的Java API(因為通常情況下無法得到API的源碼,即使得到了文件會遠大於jar包的大小)。

BeanShell介紹:
我們知道,現在有很多腳本語言,大家平時使用的比較多的包括Perl,Python,Ruby,JavaScript,Groovy,
在這里我要介紹的是另外一個對象腳本語言BeanShell(http://www.BeanShell.org)。
BeanShell的解釋器是用Java寫的,開源並且免費的,
引用open-open上面的話來說明它的運作方式:
它將腳本化對象看作簡單閉包方法(simple method closure)來支持,
就如同在Perl和JavaScript中的一樣。它具有以下的一些特點:
* 使用Java反射API以提供Java語句和表達式的實時解釋執行;
* 可以透明地訪問任何Java對象和API;
* 可以在命令行模式、控制台模式、小程序模式和遠程線程伺服器模式等四種模式下面運行;
* 與在應用程序中一樣,可以在小程序中(Applet)正常運行(無需編譯器或者類裝載器);
* 非常精簡的解釋器, jar文件中的Intepreter.class大小為150+k"。
每一種腳本語言都有它的使用場景,而正是因為其在某些場景的使用而使語言本身得到了發揚光大,
比如Ruby正是因為Ruby On Rails這個Web框架的流行而得到開發者的關注,Groovy也一樣;
BeanShell可不能再有Web框架,Java世界的Web框架已經太多了,夠讓人頭痛的了;
BeanShell是Java語法,所以對Java開發者來說,很快就可以上手,
BeanShell不能像Ruby,Perl,Ruby一樣可以占據一個系統的主體,
而只能在一些小的地方發揮"螺絲釘"的作用。
筆者與BeanShell結緣是通過一個開源工作流引擎-OBE(這個鳥東西現在好像沒什麼聲音了),
BeanShell被用作流程跳轉的Parser,舉個例子,比如一個流程A節點的下一個節點是B或者C,
如何決定A->B還是A->C呢,我們可以寫一段Java腳本放在流程定義裡面,
一旦A運行完畢,流程會使用BeanShell來Parse這段Java腳本,
根據腳本的返回值決定流程下一步的運行方向,
腳本在這里雖然用得不多,但是卻是非常的重要,
我們知道,簡單的表達式是遠遠滿足不了流程跳轉的判斷的,
有了腳本就可以滿足任何不規則的業務邏輯。
繼以上說到的,使用BeanShell可以處理現實中不規則的業務,舉個很典型的例子,
我們知道,一個保險公司有很多險種,每個險種的投入和收益的演算法是很復雜的,
無法用規則的關系資料庫模型來描述,所以很多保險系統在處理險種的演算法都是硬編碼,
如果要在系統中新加一個險種,是非常麻煩的,重新修改代碼,重新發布,
這對開發\維護人員和客戶都是很痛苦的,有了BeanShell,我們可以從這種痛苦中解脫出來,
對每個險種使用不同的腳本,新加的險種我們新配一個腳本,這樣既可以滿足業務多變的要求,
又可以減少工作量,節約成本。
BeanShell的一個特點是動態執行Java代碼,腳本文件改變不會影響當前腳本的調用,
新腳本將在腳本的下一次調用生效,這不同於配置文件,配置文件改變一般都需要應用重啟。

下面舉個例子來說明BeanShell的使用(JDK1.5,BeanShell2.04),
主類:
package com.test.BeanShell;
import bsh.Interpreter;
public class TestShell {
public static void main(String[] args) throws Exception {
Interpreter interpreter = new Interpreter();
interpreter.set("inValue", new Integer(1));
interpreter.source("/D://BeanShell_test/test.bsh");
System.out.println(((Integer) interpreter.get("outValue")).intValue());
}
}
腳本文件(D:/BeanShell_test/test.bsh)中的內容為::
System.out.println("hello,in value is "+inValue);
outValue = inValue+1;
結果:
hello,in value is 1
2

再來一個簡單例子:
(1) 下載BeanShell的jar,加到 classpath 里
(2) 寫一個腳本文件 myscript.txt ,內容如下:
a = 2;
b = 3;
c = a + b;
print(c);
(3) 運行該腳本
d:\BeanShell>java bsh.Interpreter myscript.txt
如果沒有將BeanShell的JAR加到classpath路徑里,運行下面的命令:
java -classpath %CLASSPATH%;bsh-2.0b4.jar bsh.Interpreter myscript.txt
OK,輸出結果5
寫一個bat文件 bsh.bat放到系統目錄下,如:winnt 文件內容如下:
java bsh.Interpreter %1
就可以使用如下方法運行腳本文件了
c:\BeanShell>bsh myscript.txt
osworkflow用的就是他了

和Eclipse的集成: http://eclipse-shell.sourceforge.net/index.html
eclipse update url: http://eclipse-shell.sourceforge.net/update/

有用的BeanShell命令:
在剛才那個例子中我們用了一個內建在BeanShell中的一個方便的命令print(),來顯示變數的值。
print()跟Java的System.out.println()非常的相像,除非它能保證輸出總是命令行。
print()也可以顯示一些對象的類型(如數組),但比Java的更詳細。
另一個相關的命令是show(),用來開啟與關閉顯示你輸入的每一行的結果。

閱讀全文

與javabshjar相關的資料

熱點內容
手機快速傳輸文件 瀏覽:647
sql2008資料庫沒有日誌文件 瀏覽:36
有沒有直接看的網站給一個 瀏覽:19
iphone4沒聲音 瀏覽:221
exe專殺工具 瀏覽:793
macword加頁 瀏覽:516
昆明員工文件櫃多少錢一個 瀏覽:824
北京視通信元網路技術有限公司 瀏覽:363
1979年打越南自衛反擊戰電影全集 瀏覽:795
掃碼免費看電影是怎麼回事 瀏覽:583
穿越成朱元璋的弟弟小說 瀏覽:234
c大數據導出 瀏覽:791
資料庫如何做介面視圖 瀏覽:404
女程序員職業規劃 瀏覽:323
微信收藏能收藏多少個文件 瀏覽:161
哪款蘋果電腦玩游戲好 瀏覽:472
js獲取當前頁面的標題 瀏覽:997
威勝智能電表如何採集監測數據 瀏覽:31
如何加密u盤文件夾 瀏覽:860
網站懸浮窗代碼 瀏覽:4

友情鏈接