顯示具有 netbeans 標籤的文章。 顯示所有文章
顯示具有 netbeans 標籤的文章。 顯示所有文章

2022-09-08

Netbeans 啟動 tomcat 時,顯示"Starting of Tomcat failed, the server port 8084 is already in use."(8084端口被占用)

 在netbeans設定tomcat時,若port設定為8084,且又打開 HTTP monitor功能的話,會導致tomcat開啟不了,顯示"Starting of Tomcat failed, the server port 8084 is already in use."

這是因為HTTP Monitor打開後,netbeans會啟動內建的tomcat 3 server,導致占port 8084,
要嘛將Server port改掉,要嘛關掉HTTP Monitor (這功能是會在HTTP Server Monitor顯示GET/POST等訪問紀錄)


另外,netbeans的web專案要是出現 "Deployment descriptor directory could not be found" 訊息,那可能就是少了web.xml 或WEB-INF資料夾,在專案按右鍵新增web.xml檔案即可。

2021-05-12

netbeans 8 修復maven 及 plugin 問題

 新的maven要求https傳輸,所以需要升級maven:

1.下載新的maven:

http://maven.apache.org/download.cgi

2.解壓縮下載的檔案,放到netbeans安裝資料夾中的 java/maven 資料夾

3.在netbeans的jave/maven設定中,替換掉maven home

4.把 maven的conf/settings.xml的mirror區塊註解掉


然後netbeans 8的plugin portal的url發現已失效,可到以下頁面去找:
https://cwiki.apache.org/confluence/display/NETBEANS/Where+to+download+plugins+for+NetBeans+10.0+and+earlier

例如8.2: http://plugins.archive.librebeans.org/catalogue/8.2/catalog.xml

ref:

https://stackoverflow.com/questions/14026314/maven-location-when-installed-indirectly-with-netbeans-glassfish

https://oak.dev/2020/03/03/maven-error-return-code-is-501-reasonphrase-https-required/

2021-03-04

netbeans在ubuntu上不斷要求開啟GNOME Keyring或KWallet 解決方法

 根據官方說明,這是netbeans用來記憶ftp, git, svn...等密碼的方法,就如同 window的login-based encryption、Mac OS X的Keychain、Linux的GNOME Keyring或KWallet。

解法一:安裝kwalletmanager或 libgnome-keyring-dev(擇一),並輸入你的使用者密碼讓netbneas有keyring或kwallet的存取權,以後就不會再來煩你了。

解法二:在netbeans.conf的netbeans_default_options加入:
-J-Dnetbeans.keyring.no.master=true
這樣以後密碼會存放在記憶體,但netbeans關掉就密碼就會消失了。

ref:

http://wiki.netbeans.org/FaqMasterPasswordDialog
https://wiki.archlinux.org/index.php/Netbeans#Integrate_Netbeans_with_kwallet
https://stackoverflow.com/questions/8666670/how-to-make-the-netbeans-doesnt-ask-for-the-master-password
https://superuser.com/questions/416976/why-does-netbeans-ask-for-master-password-at-the-begining

2021-02-19

新專案上git時的必要前置設定

一、先產生.gitignore再做git init
例如你用的是netbeans的話,可以裝gitignore plugin或到這個網站,在專案的根目錄產生適合的.gitingore檔案,把不需要做版本控制的檔案(如build, dist等資料夾)排除。
可參考以下更詳細的.gitignore說明:
https://www.pluralsight.com/guides/how-to-use-gitignore-file
https://git-scm.com/docs/gitignore


二、設定gitconfig:
若一個專案的開發人員,不同人有著不同的OS平台,那麼 ~/.gitconfig (個人設定) 或 .git/config (專案設定,會覆蓋個人設定) 務必設定filemode = false及ignorecase = true

[user]

        email = username@yourmail.com

        name = username

[core]

        filemode = false #windows跟linux/macos開發者避免檔案權限錯誤訊息

        ignorecase = true #windows跟linux/macos開發者避免大小寫錯誤訊息

        autocrlf = false #false為不要自動轉換作業系統間的CRLF斷行,應以編輯器設定斷行字元。若設為input則checkout時會自動依平台轉換斷行,但commit時在linux/win一律為LF,在mac為CR



三、設定 .gitattributes
還要在repo的根目錄新增一個 .gitattributes 才解決跨平台換行(crlf)的衝突問題:

* text=auto eol=lf
*.{cmd,[cC][mM][dD]} text eol=crlf
*.{bat,[bB][aA][tT]} text eol=crlf
四、再做第一次的commit:
git commit -a -m "first commit, good luck!"

2017-03-23

Netbeans 一直出現 duplicate class 的錯誤

明明你很確定同一個package的class名稱並沒有重複,
但Netbeans就是會告訴你有duplicate class name,並出現討厭的驚嘆號,
這時候不要懷疑,你的Netbeans壞掉了!

不過解決方法很簡單,不用重裝不用升級,只要把Netbeans的cache清除掉就可以了!

WINDOWS:
C:\Users\\AppData\Local\NetBeans\Cache\

LINUX:
~/.cache/netbeans/${netbeans_version}/index/

MAC:
~/Library/Caches/NetBeans/${netbeans_version}/

或著在Netbeans的選單「Help » About」裡面就可以找到Cache directory的路徑了。

2017-02-26

對遠端的tomcat除錯,且又有二個以上專案時

如果對遠端的tomcat用netbeans除錯,且伺服器又有二個以上的專案,

必須在netbeans的 Window/Debugging/Sources 視窗去調整 source 的順序,

因為預設是以在遠端找到的第一個專案來除錯,反正要除錯的專案就在source往前調整就是了,

不然就會陷入無限的鬼打牆,怎麼斷點都會跟你說無法submit到遠端伺服器。

2016-11-06

[Java] 在Netbeans中簽署jar時,加上時間戳記


在Netbeans中,使用金鑰簽署jar時,並不會自動加上時間戳記,當這jar檔使用在Java Web Start,可能會影響是否要更新本地端jar檔的判斷,

一個解法是自已決定簽署參數,在project.properties中,加入如下的值:

jnlp.signing.tsaurl=http://tsa.starfieldtech.com

然後在build.xml的<project>中,加入子節點如下:

<target name="sign-jars" depends="-jnlp-init-keystore,-check-signing-possible" if="jnlp.signed.true+signjars.task.available">
        <echo message="Using custom code for signing and timestamping via build.xml..." />
        <signjar
               alias="${jnlp.signjar.alias}"
               storepass="${jnlp.signjar.storepass}"
               keystore="${jnlp.signjar.keystore}"
               keypass="${jnlp.signjar.keypass}"
               tsaurl="${jnlp.signing.tsaurl}">
            <path>
                <fileset dir="dist" includes="*.jar" />
                <fileset dir="dist/lib" includes="*.jar" />
            </path>
        </signjar>
    </target>