linux下安裝jdk+tomcat+eclipse+mysql

来源:http://www.cnblogs.com/dingjiaoyang/archive/2016/02/05/5103109.html
-Advertisement-
Play Games

我的環境:主機是win7的,虛擬機是VWare Workstation 6.0 ,linux系統為Red Hat Enterprise Linux 5 64位 各軟體版本:jdk是jdk-6u35-linux-x64.bin,tomcat是apache-tomcat-6.0.35.tar.gz,數據


我的環境:主機是win7的,虛擬機是VWare  Workstation 6.0   ,linux系統為Red Hat Enterprise  Linux 5 64位

     各軟體版本:jdk是jdk-6u35-linux-x64.bin,tomcat是apache-tomcat-6.0.35.tar.gz,資料庫為mysql是mysql-5.5.27-linux2.6-x86_64.tar.gz,eclipse是eclipse-jee-juno-linux-gtk-x86_64.tar.gz(各個軟體的下載地址這裡就不列出來了,看官們自己百度或谷歌下吧)

   好了,軟體現在已經準備好。接下來就是安裝了。首先我們要讓虛擬機中的linux系統能夠找到windows7中的各個軟體(當然了,如果在虛擬機中裝linux系統已經配置了上網的環境,那麼也可以進入linux的桌面操作系統通過瀏覽器去下載各個軟體直接到linux系統中)即把各個軟體如何掛載到linux系統中。

    首先我們可以建一個文件夾(隨便命名,我的是叫linuxsoft),把上面的jdk、tomcat、mysql、eclipse放到該文件下。我們可以在linux的控制台輸入下麵命令來查看是否已經掛載上:cd /mnt/hgfs/linuxsfot(這裡的linuxsoft請替換成各位看官們自己再windows系統創建的文件名),回車,然後再輸入:ls -l  是不是已經看到了呢?哈哈哈

一、裝jdk

第一步:複製文件到linux系統中

     linux的控制台輸入:cd /mnt/hgfs/linuxsoft ,然後輸入:cp jdk-6u34-linux-i586.bin  /home(ps:jdk-6u35-linux-x64.bin這個文件名好長啊,一個個輸入那不要死人啊,告訴一個小技巧,我們先輸入jdk然後按tab鍵就會自動補全的喲!呵呵),當然如果你想一步把所有的文件都複製到linux系統中去。那麼也可以這樣:cd /mnt/hgfs,然後再cp -r  linuxsoft   /home(如果文件多的話,可能要點時間複製喲,不願等的話還是一個個複製得了,反正利用tab補全命令輸入也好快啊!)完了之後我們都可以進入cd  /home然後ls 一下查看是不是已經真的複製進去了。

第二步:解壓安裝jdk

       對於bin這樣的尾碼文件,在linux系統控制台輸入:./jdk-6u34-linux-i586.bin  (當然這裡這樣輸入的前提是我們已經進入到了home目錄下,我們可以用pwd命令查看當前我們在什麼路徑下)敲回車就是一堆一堆的信息,這些我們都可以不用管。解壓安裝後之後進入輸入狀態說明已經ok了。緊接著我們再輸入:mv XXXXXXXXXXXXXXXX(表示各個軟體解壓安裝後的文件名) XXXX(新的好記的對應文件名,如: java、tomcat、mysql、eclipse),這個主要是修改文件名方便我們修改path值啊、相關配置文件啊等等,畢竟老長的文件名確實看著也不舒服。

第三步:配置環境變數

配置環境變數有下麵三種方法,對於第一種配置時全局配置,必須以root用戶登錄才可以修改配置。配置完之後不管事哪一個用戶登錄了都可以使用該java

            1. 修改/etc/profile文件

    如果你的電腦僅僅作為開發使用時推薦使用這種方法,因為所有用戶的shell都有權使用這些環境變數,可能會給系統帶來安全性問題。     ·用文本編輯器打開/etc/profile(命令:vi  /etc/profile),打開之後按i鍵進入編輯狀態     ·在profile文件末尾加入:       JAVA_HOME=/home/java       PATH=$PATH:$JAVA_HOME/bin       CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar       export JAVA_HOME    PATH  CLASSPATH                添加完成後按esc鍵然後再按“:”在“:”輸入wq(保存並推出vi編輯器的意思)。     ·重新登錄(一定要記得重新登錄,不然不會生效)       ·說明       a. 你要將 /home/java改為你的jdk安裝目錄       b. linux下用冒號“:”來分隔路徑       c. $PATH / $CLASSPATH / $JAVA_HOME 是用來引用原來的環境變數的值                            在設置環境變數時特別要註意不能把原來的值給覆蓋掉了,這是一種常見的錯誤。       d. CLASSPATH中當前目錄“.”不能丟,把當前目錄丟掉也是常見的錯誤。       e. export是把這三個變數導出為全局變數。       f. 大小寫必須嚴格區分。   2. 修改.bashrc文件(當前用戶)     這種方法更為安全,它可以把使用這些環境變數的許可權控制到用戶級別,如果你需要給某個用戶許可權使用這些環境變數,你只需要修改其個人用戶主目錄下的.bashrc文件就可以了。     ·用文本編輯器打開用戶目錄下的.bashrc文件     ·在.bashrc文件末尾加入:       set JAVA_HOME=/home/java                                export JAVA_HOME       set PATH=$PATH:$JAVA_HOME/bin                    export PATH               set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar                    export CLASSPATH     ·重新登錄   3. 直接在shell下設置變數(這個是參考,其實我也不是很懂這個方法)     不贊成使用這種方法,因為換個shell,你的設置就無效了,因此這種方法僅僅是臨時使用,以後要使用的時候又要重新設置,比較麻煩。     只需在shell終端執行下列命令:     export JAVA_HOME=/usr/share/jdk1.5.0_05     export PATH=$PATH:$JAVA_HOME/bin        export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 以上參考了gaojohn933的文章。利用:which  java命令我們也可以看到我們的jdk是否安裝成功。 二、安裝tomcat

第一步:複製文件

    請參考安裝jdk的第一步

第二步:解壓安裝

   對於".tar.gz"的文件,linux中使用tar來解壓縮

   我們先進入到home目錄下,然後輸入 :     tar  -zxvf  apache-tomcat-6.0.35.tar.gz   敲回車後又是一堆一堆的信息不停的閃啊,不管,如果要我們敲y/n的我們敲y就是了(如果我們再windows下安裝程式要點擊同意或者不同意之類的,當然點擊同意對吧,不點同意人家怎麼敢讓你繼續安裝啊,呵呵)

  改文件名跟jdk一樣,輸入:mv  apache-tomcat-6.0.35.tar.gz   tomcat

第三步:配置環境變數

     同jdk的環境變數一樣,配置之後的文件內容應該如下:

 JAVA_HOME=/home/java

   TOMCAT_HOME=/home/tomcat

 PATH=$PATH:$JAVA_HOME/bin:$TOMCAT_HOME/bin  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  export JAVA_HOME   TOMCAT_HOME    PATH  CLASSPATH

   保存推出

jdk和tomcat配置文件如下圖所示:

第四步:啟動tomcat

進入tomcat的bin目錄,ls -l之後我們會發現以下文件

輸入:sh     startup.sh

再輸入 netstat  /nat查看埠號

啟動之後我們也可以進入桌面應用程式下(利用startx命令就可以進入)打開瀏覽器查看是否可以看到那隻可愛的貓

看到了沒啊??

ps:關於tomcat添加用戶名跟密碼,我們也可以進入這樣,在控制台輸入:cd /home/tomcat/conf,然後ls -l一下找到tomcat-user.xml,然後vitomcat-user.xml添加一個用戶名和密碼(添加用戶也是利用vi命令,跟前面安裝jdk配置path環境變數是一樣的步驟啊!),比如添加之後我的該文件如下

至此tomcat也安裝好了。

三、安裝eclipse

 第一步:複製文件

請參考安裝jdk的第一步複製文件

第二步:解壓安裝

請參考安裝tomcat第二步解壓安裝

第三步:啟動eclipse

首先我們得先進入桌面應用程式(我們不可能在控制台使用eclipse,因為eclipse本來就是圖形化的程式。哪天要是有牛人開發出來,即使開發出來也沒有人用估計,因為我們用eclipse開發就是為了加快項目開發,在控制臺下???那豈不是拖慢開發進度啊?)進入到eclipse目錄中,在控制台輸入:eclipse。

註意:由於我之前下載的jdk版本是1.6的32位的,導致啟動eclipse時報錯,報錯信息大致如下:JVM terminated. Exit code=13

百度了一下,這樣的問題大致可以分以下幾種情況解決:

1、版本不對

    輸入java -version確定安裝的版本。本文的錯誤不是這個原因,因為安裝的是1.6的 2、安裝的位數不對(本文剛好是這個原因引起的)      本文的eclipse是64位的,而安裝的jdk卻是32位的,所以要把jdk換成64位的即可 3、啟動eclipse的時候該eclipse依賴的jdk不是我們自己安裝的      因為許多linux系統會自動jdk。此時我們可以通過 which java來查看我們linux系統上到底有幾個jdk,再通過查看eclipse的錯誤提醒看是否依賴我們安裝的jdk,如果不是,我們可以通過 eclipse  -vm  XXXXXXX/bin(我們自己安裝java的路徑) 如果在控制台直接輸入:./eclipse我們將看到下麵這種情況:

 

再用vi打開那個日誌文件如下:

[plain] view plaincopy    
  1. !SESSION 2012-09-01 00:14:07.716 -----------------------------------------------  
  2. eclipse.buildId=unknown  
  3. java.version=1.6.0_35  
  4. java.vendor=Sun Microsystems Inc.  
  5. BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US  
  6. Framework arguments:  -product org.eclipse.epp.package.jee.product  
  7. Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product  
  8.   
  9. !ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2012-09-01 00:14:18.049  
  10. !MESSAGE FrameworkEvent ERROR  
  11. !STACK 0  
  12. org.osgi.framework.BundleException: The bundle "org.eclipse.equinox.p2.reconciler.dropins_1.1.200.v20120301-2145 [305]" could not be resolved. Reason: Missing Constraint: Require-Bundle: org.eclipse.equinox.p2.touchpoint.eclipse; bundle-version="1.0.0"  
  13.     at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1332)  
  14.     at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1316)  
  15.     at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:323)  
  16.     at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)  
  17.     at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1177)  
  18.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)  
  19.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)  
  20.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)  
  21.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)  
  22.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)  
  23.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)  
  24.     at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)  
  25.     at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)  
  26.   
  27. !ENTRY org.eclipse.osgi 4 0 2012-09-01 00:14:18.606  
  28. !MESSAGE Application error  
  29. !STACK 1  
  30. org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]  
  31.     at org.eclipse.swt.SWT.error(SWT.java:4387)  
  32.     at org.eclipse.swt.widgets.Display.createDisplay(Display.java:913)  
  33.     at org.eclipse.swt.widgets.Display.create(Display.java:899)  
  34.     at org.eclipse.swt.graphics.Device.<init>(Device.java:156)  
  35.     at org.eclipse.swt.widgets.Display.<init>(Display.java:497)  
  36.     at org.eclipse.swt.widgets.Display.<init>(Display.java:488)  
  37.     at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:666)  
  38.     at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)  
  39.     at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:154)  
  40.     at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:96)  
  41.     at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)  
  42.     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)  
  43.     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)  
  44.     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)  
  45.     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)  
  46.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  47.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
  48.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  49.     at java.lang.reflect.Method.invoke(Method.java:597)  
  50.     at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)  
  51.     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)  
  52.     at org.eclipse.equinox.launcher.Main.run(Main.java:1438)  
  53.     at org.eclipse.equinox.launcher.Main.main(Main.java:1414)  
[plain] view plaincopy  
  1. !SESSION 2012-09-01 00:14:07.716 -----------------------------------------------  
  2. eclipse.buildId=unknown  
  3. java.version=1.6.0_35  
  4. java.vendor=Sun Microsystems Inc.  
  5. BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US  
  6. Framework arguments:  -product org.eclipse.epp.package.jee.product  
  7. Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product  
  8.   
  9. !ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2012-09-01 00:14:18.049  
  10. !MESSAGE FrameworkEvent ERROR  
  11. !STACK 0  
  12. org.osgi.framework.BundleException: The bundle "org.eclipse.equinox.p2.reconciler.dropins_1.1.200.v20120301-2145 [305]" could not be resolved. Reason: Missing Constraint: Require-Bundle: org.eclipse.equinox.p2.touchpoint.eclipse; bundle-version="1.0.0"  
  13.     at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1332)  
  14.     at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1316)  
  15.     at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:323)  
  16.     at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)  
  17.     at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1177)  
  18.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)  
  19.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)  
  20.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)  
  21.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)  
  22.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)  
  23.     at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)  
  24.     at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)  
  25.     at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)  
  26.   
  27. !ENTRY org.eclipse.osgi 4 0 2012-09-01 00:14:18.606  
  28. !MESSAGE Application error  
  29. !STACK 1  
  30. org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]  
  31.     at org.eclipse.swt.SWT.error(SWT.java:4387)  
  32.     at org.eclipse.swt.widgets.Display.createDisplay(Display.java:913)  
  33.     at org.eclipse.swt.widgets.Display.create(Display.java:899)  
  34.     at org.eclipse.swt.graphics.Device.<init>(Device.java:156)  
  35.     at org.eclipse.swt.widgets.Display.<init>(Display.java:497)  
  36.     at org.eclipse.swt.widgets.Display.<init>(Display.java:488)  
  37.     at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:666)  
  38.     at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)  
  39.     at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:154)  
  40.     at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:96)  
  41.     at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)  
  42.     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)  
  43.     at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)  
  44.     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)  
  45.     at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)  
  46.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  47.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
  48.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  49.     at java.lang.reflect.Method.invoke(Method.java:597)  
  50.     at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)  
  51.     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)  
  52.     at org.eclipse.equinox.launcher.Main.run(Main.java:1438)  
  53.     at org.eclipse.equinox.launcher.Main.main(Main.java:1414)  

重點是那些個swt、ui看到了沒???說明控制台這樣打開是不行滴,必須進入到桌面應用程式才能打開!

 趕緊試下吧!

四、安裝mysql

        作為一個程式員,其實對於資料庫之類的安裝優化管理,在稍微正規點的公司我們都不需要去做,因為會有專門的人去管理資料庫。我們在程式中只需要連接ip地址、用戶名、密碼就可以了。而且,在linux中,資料庫的安全優化是一個比較大的研究方向。這裡只是說下大概的安裝,對於安裝後資料庫的安全以及優化各位看官們可以自己再找找相關方面的資料。

第一步:複製文件

第二步:解壓縮安裝

       這兩步請參考前面安裝tomcat的步驟

 第三步:創建用戶和用戶組

     groupadd mysql     //添加用戶組
     useradd -r -g mysql admin   //在用戶組中添加用戶名

第四步:修改文件許可權

[plain] view plaincopy    
  1. [root@localhost  ~]# cd /usr/local/mysql  
  2. [root@localhost  mysql]# chown -R root:mysql . //把當前目錄中所有文件的所有者所有者設為root,所屬組為mysql,請註意末尾的“.”  
[plain] view plaincopy  
  1. [root@localhost  ~]# cd /usr/local/mysql  
  2. [root@localhost  mysql]# chown -R root:mysql . //把當前目錄中所有文件的所有者所有者設為root,所屬組為mysql,請註意末尾的“.”  

第五步:初始化資料庫

       ./scrips/mysql_install_db  -user=admin

第五步:配置環境變數

[root@localhost ~]# vi /root/profile

在PATH=$PATH:$JAVA_HOME/bin添加參數為:

PATH=$PATH:$JAVA_HOME/bin:/home/mysql/bin:/home/mysql/lib
 

保存退出

第六步:手動啟動mysql

查看是否該進程已經啟動:

看到mysqld說明已經正確啟動了。

第七步:進入mysql

 

 

好了,至此mysql也安裝好了啊。

 

後註:1、這裡用admin賬號進入mysql的時候並沒有輸入密碼。

       我們可以這樣修改密碼:bin/mysqladmin -uadmin password 123  (設置mysql的admin用戶密碼為123456)

進入mysql的時候我們可以這樣進入:mysql -p123

2、我們這裡啟動時手動啟動,為了方便的話我們可以設置開機自啟動該進程。

       cp   /home/mysql/share/mysql/mysql.server    /etc/init.d/mysqld ,對於mysql.server文件,有的系統是是在/home/mysql/support-files/mysql.server中。

3、如果要在程式中使用mysql資料庫,還需要相關的驅動包,這個跟windows是一樣的,相信大家都知道的。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Sqlite是ios數據存儲的一個重要手段,今天我們就一塊來看一下,怎樣使用sqlite將數據存儲到沙盒中去。 第一步:導入一個框架libsqlite3.0.dylib 選中TARGETS在General中的Linked Frameworks and Libraries選項中點擊‘+’添加 第二步:
  • 創建資料庫 create database 資料庫名字 2.顯示所有資料庫 show databases; 3.顯示所有表: use 資料庫名字 show tables; 4.顯示所有表結構 Desc table; 5.顯示所有存儲過程 show procedure status; 6.顯示創建存儲
  • 最近公司資料庫用到MongoDB,而之前只關註知道它是分散式非關係資料庫,數據以文檔的形式存儲,數據格式是類似json的bson格式.而對於具體用法以及java如何調用並沒有過多接觸,今天花費一天的時間瞭解了MongoDB在linux下的安裝以及基本的命令行調用. 1. Linux下安裝MongoD
  • 刪除mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-server sudo apt-get autoremove mysql-server sudo apt-get remove mys
  • 在linux系統中,可以使用mount命令掛載光碟鏡像文件、移動硬碟、U盤以及Windows網路共用和UNIX NFS網路共用等 linux是一個優秀的開放源碼的操作系統,可以運行在大到巨型小到掌上型各類電腦系統上,隨著 linux系統的日漸成熟和穩定以及它開放源代碼特有的優越性,linux在全世
  • 1、安裝客戶端和伺服器端 確認mysql是否已安裝: ? 1 2 yum list installed mysql* rpm -qa | grep mysql* 查看是否有安裝包: ? 1 yum list mysql* 安裝mysql客戶端: ? 1 yum install mysql 安裝mys
  • 安裝好的CentOS會自帶OpenJdk,用命令 java -version ,會有下麵的信息: java version "1.6.0"OpenJDK Runtime Environment (build 1.6.0-b09)OpenJDK 64-Bit Server VM (build 1.6.
  • Linux下怎麼查看當前系統的版本: uname -r 功能說明:uname用來獲取電腦和操作系統的相關信息。 語 法:uname [-amnrsvpio][--help][--version] 補充說明:uname可顯示linux主機所用的操作系統的版本、硬體的名稱等基本信息。 參 數: -a或–
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...