คำถามติดแท็ก java

Java เป็นภาษาการเขียนโปรแกรมระดับสูงที่เป็นที่นิยม ใช้แท็กนี้เมื่อคุณมีปัญหาในการใช้หรือทำความเข้าใจภาษานั้น ๆ แท็กนี้ไม่ค่อยได้ใช้คนเดียวและมักใช้ร่วมกับ [สปริง], [สปริงบูต], [jakarta-ee], [android], [javafx], [gradle] และ [maven]


17
java.lang.NoClassDefFoundError: org / hamcrest / SelfDescribing
ขณะjunitทำการทดสอบในeclipseฉันได้รับสิ่งนี้Exception: java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing ฉันได้เพิ่มjunit.jarไฟล์ไลบรารีแล้ว ฉันได้พยายามรุ่นต่าง ๆ ของ junit.jar: 4.4, 4.8ฯลฯ ฉันจะแก้ไขข้อยกเว้นนี้ได้อย่างไร

4
System.getProperty (“ java.io.tmpdir”) จะส่งคืน“ c: \ temp” เมื่อใด
แค่อยากรู้ว่าเมื่อไหร่System.getProperty("java.io.tmpdir")จะกลับ"c:\temp"มา อ้างอิงจากเอกสารJava.io.File Java - ไดเร็กทอรีไฟล์ชั่วคราวดีฟอลต์ถูกระบุโดยคุณสมบัติระบบ java.io.tmpdir ในระบบ UNIX ค่าดีฟอลต์ของคุณสมบัตินี้โดยทั่วไปคือ "/ tmp" หรือ "/ var / tmp"; ในระบบ Microsoft Windows โดยทั่วไปจะเป็น "c: \ temp" อาจมีการกำหนดค่าที่แตกต่างกันให้กับคุณสมบัติระบบนี้เมื่อเรียกใช้เครื่องเสมือน Java แต่การเปลี่ยนแปลงทางโปรแกรมของคุณสมบัตินี้ไม่ได้รับการรับรองว่าจะมีผลกระทบใด ๆ กับไดเร็กทอรีชั่วคราวที่ใช้โดยวิธีนี้ แต่ในกรณีของฉัน - System.out.println(System.getProperty("java.io.tmpdir")); ผลตอบแทนเสมอ - C:\Users\admin\AppData\Local\Temp\ i.e. %TEMP% จะกลับมาในสภาพ"c:\temp"ใด แก้ไข: ถ้าฉันเปลี่ยน% TEMP% เป็น C: \ Temp ฉันจะได้รับ C: \ Temp ใช่ไหม? แต่เอกสารประกอบจะแสดง …
110 java  windows  tempdir 

3
ความเข้ากันไม่ได้ของกรอบการบันทึก
ฉันกำลังสร้างแอป Java ขนาดเล็กและหวังว่าจะใช้ Logback สำหรับการบันทึก แอพของฉันมีการพึ่งพาโปรเจ็กต์เก่ากว่าที่ทำการบันทึกผ่านไฟล์ org.apache.commons | com.springsource.org.apache.commons.logging | 1.1.1 ... ดังนั้นแผนของฉันคือใช้ org.slf4j | jcl-over-slf4j | 1.5.6 ... เพื่อเปลี่ยนเส้นทางการบันทึก JCL ไปที่ org.slf4j | slf4j-api | 1.6.0 ... และท้ายที่สุดก็คือ ch.qos.logback | logback-classic | 0.9.22 ch.qos.logback | logback-core | 0.9.22 ดังนั้นแอปของฉันจึงสามารถเข้าสู่ระบบผ่านการล็อกกลับผ่าน slf4j API ในขณะที่รหัสไลบรารีเก่าสามารถล็อกเข้าสู่ตำแหน่งเดียวกันผ่านการเปลี่ยนเส้นทาง อนิจจาส่งผลให้ java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocationAwareLog.java:141) ฉันได้ลองใช้ตัวเลขการตรวจสอบที่สูงขึ้นและต่ำลงในไหเหล่านี้และยังขุดผ่านเอกสาร API …

2
วิธีการระบุการกระจายองค์กรการจัดการของ maven กว้าง?
ฉันกำลังพยายามหาวิธีจัดระเบียบโครงการ maven2 จำนวนมาก (ประมาณ 50+) เพื่อให้สามารถปรับใช้ในพื้นที่เก็บข้อมูลส่วนกลาง เมื่อใช้mvn deployเป้าหมายเราจำเป็นต้องระบุเป้าหมายในแท็ก distributionManagement ดังนี้: <distributionManagement> <repository> <id>nexus-site</id> <url>http://central_nexus/server</url> </repository> </distributionManagement> ตอนนี้ฉันไม่ต้องการให้ทุก ๆ pom.xml (ของ 50+) มีบล็อกนี้ซ้ำแล้วซ้ำเล่า แม้ว่าสิ่งแรกของฉันจะเป็นsettings.xmlไฟล์ แต่ดูเหมือนว่าจะไม่สามารถกำหนดได้ (โดยการออกแบบ) คำถามแรกคือทำไมถึงเป็นเช่นนั้น? ถ้าเป็นไปได้ฉันสามารถระบุได้ใน settings.xml ในการแจกจ่าย maven2 ซึ่งสามารถแจกจ่ายให้กับนักพัฒนาทุกคนได้ ทางออกเดียวที่เป็นไปได้ที่ฉันพบคือการสร้างโปรเจ็กต์ master-pom สำหรับทั้งองค์กรที่มีการตั้งค่าเหล่านี้และทำให้ pom.xml อื่น ๆ ทั้งหมดขึ้นอยู่กับ master-pom นี้ผ่าน<parent>แท็ก แต่สิ่งนี้ดูแปลก ๆ ในการสร้างหลายโมดูล: - master configuration POM (pm) - Project …

3
การเริ่มต้นคลาสแบบคงที่จะเกิดขึ้นเมื่อใด
ฟิลด์คงที่จะเริ่มต้นเมื่อใด ถ้าฉันไม่เคยสร้างอินสแตนซ์ของคลาส แต่ฉันเข้าถึงฟิลด์แบบคงที่บล็อกแบบคงที่และวิธีการคงที่ส่วนตัวทั้งหมดจะใช้เพื่อสร้างอินสแตนซ์ฟิลด์สแตติกส่วนตัวที่เรียกว่า (ตามลำดับ) ในทันทีนั้นหรือไม่ จะเกิดอะไรขึ้นถ้าฉันเรียกวิธีการแบบคงที่? มันยังเรียกใช้บล็อกคงที่ทั้งหมดหรือไม่ ก่อนวิธี?

11
ฉันต้องการองค์ประกอบ <class> ใน persistence.xml หรือไม่?
ฉันมีไฟล์ persistance.xml ที่ง่ายมาก: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt; &lt;persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL"&gt; &lt;class&gt;pl.michalmech.eventractor.domain.User&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Address&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.City&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Country&lt;/class&gt; &lt;properties&gt; &lt;property name="hibernate.hbm2ddl.auto" value="validate" /&gt; &lt;property name="hibernate.show_sql" value="true" /&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt; และมันได้ผล แต่เมื่อฉันลบ&lt;class&gt;แอปพลิเคชันองค์ประกอบไม่เห็นเอนทิตี (ทุกคลาสมีคำอธิบายประกอบ@Entity) มีกลไกอัตโนมัติในการสแกนหา@Entityชั้นเรียนหรือไม่?
110 java  hibernate  orm  jpa  annotations 

4
การใช้ @see ใน JavaDoc?
ฉันจะใช้@seeเมื่อจัดการกับ JavaDocs เมื่อใด การใช้งานคืออะไร? ตัวอย่างเช่นถ้าMethodAโทรMethodBแล้วฉันจะต้องใส่@seeในMethodB's Javadoc และการอ้างอิงMethodAเพราะเห็นว่าเป็นสิ่งที่เรียกว่าหรือฉันต้องใส่การอ้างอิงถึงMethodBจากMethodAเพราะมันเรียกมันว่า ฉันได้อ่านเนื้อหาเกี่ยวกับ@seeบนเว็บไซต์ Oracle และดูเหมือนว่าสำหรับฉันจะคลุมเครืออย่างไม่น่าเชื่อมันบอกว่า "ดูด้วย" แต่ไม่ได้หมายความว่าจริงๆ!
110 java  methods  javadoc 


9
ฉันจะรับไดเร็กทอรีของไฟล์โดยใช้อ็อบเจ็กต์ไฟล์ได้อย่างไร
พิจารณารหัส: File file = new File("c:\\temp\\java\\testfile"); testfileเป็นไฟล์และอาจมีหรือไม่มีอยู่ ฉันต้องการรับไดเรกทอรีc:\\temp\\java\\โดยใช้Fileวัตถุ ฉันจะทำสิ่งนี้ได้อย่างไร?
110 java  file 

29
จะปรับปรุงประสิทธิภาพของ Netbeans ได้อย่างไร?
มีวิธีทำให้ Netbeans โหลดและทำงานได้เร็วขึ้นจริงหรือ? ช้าเกินไปและแย่ลงเมื่อคุณเขียนโค้ดมาระยะหนึ่ง มันกินแรมของฉันทั้งหมด ฉันใช้เครื่อง Windows โดยเฉพาะ Windows Server 2008 Datacenter Edition x64, RAM 4Gb, โปรเซสเซอร์ 3Ghz Core 2 Duo ฯลฯ ฉันใช้ x64 JDK ฉันใช้ NOD32 Antivirus เนื่องจากสำหรับฉันแล้วมันเป็นประสิทธิภาพที่ดีที่สุดสำหรับเครื่อง ในตัวจัดการงาน netbeans.exe แสดงเฉพาะไม่เกิน 20 Mb, java.exe มากกว่า 600Mb โครงการของฉันเป็นเว็บแอปพลิเคชัน J2EE มากกว่า 500 คลาสไม่รวมเฉพาะไลบรารีโครงการ (ภายนอก) และเมื่อฉันพูดว่าช้าฉันหมายความว่า Netbeans 3, 4, 5 นาทีหรือมากกว่านั้นถูกแช่แข็ง โครงการของฉันมีขนาดใหญ่เกินไปสำหรับ …

5
เหตุใดตัวสร้างของ enum จึงไม่สามารถเข้าถึงฟิลด์แบบคงที่ได้
เหตุใดตัวสร้างของ enum จึงไม่สามารถเข้าถึงฟิลด์และเมธอดแบบคงที่ได้? สิ่งนี้ใช้ได้กับคลาส แต่ไม่อนุญาตให้ใส่ enum สิ่งที่ฉันพยายามทำคือจัดเก็บอินสแตนซ์ enum ของฉันไว้ในแผนที่แบบคงที่ พิจารณาโค้ดตัวอย่างนี้ซึ่งช่วยให้สามารถค้นหาได้โดยการย่อ: public enum Day { Sunday("Sun"), Monday("Mon"), Tuesday("Tue"), Wednesday("Wed"), Thursday("Thu"), Friday("Fri"), Saturday("Sat"); private final String abbreviation; private static final Map&lt;String, Day&gt; ABBREV_MAP = new HashMap&lt;String, Day&gt;(); private Day(String abbreviation) { this.abbreviation = abbreviation; ABBREV_MAP.put(abbreviation, this); // Not valid } public String …
110 java  enums 

3
เหตุใดใน Java 8 แยกบางครั้งจึงลบสตริงว่างเมื่อเริ่มต้นอาร์เรย์ผลลัพธ์
ก่อน Java 8เมื่อเราแยกสตริงว่างเช่น String[] tokens = "abc".split(""); กลไกการแยกจะแยกในสถานที่ที่มีเครื่องหมาย | |a|b|c| เนื่องจาก""มีพื้นที่ว่างก่อนและหลังอักขระแต่ละตัว ดังนั้นผลลัพธ์มันจะสร้างอาร์เรย์นี้ในตอนแรก ["", "a", "b", "c", ""] และต่อมาจะลบสตริงว่างต่อท้าย (เนื่องจากเราไม่ได้ระบุค่าลบให้กับlimitอาร์กิวเมนต์อย่างชัดเจน) ดังนั้นในที่สุดก็จะคืนค่า ["", "a", "b", "c"] ในกลไกการแบ่งJava 8ดูเหมือนจะเปลี่ยนไป ทีนี้เมื่อเราใช้ "abc".split("") เราจะได้["a", "b", "c"]อาร์เรย์แทน["", "a", "b", "c"]ดังนั้นดูเหมือนว่าสตริงว่างเมื่อเริ่มต้นจะถูกลบออกไปด้วย แต่ทฤษฎีนี้ล้มเหลวเพราะตัวอย่างเช่น "abc".split("a") ["", "bc"]ส่งกลับอาร์เรย์กับสตริงที่ว่างเปล่าในช่วงเริ่มต้น ใครช่วยอธิบายได้ว่าเกิดอะไรขึ้นที่นี่และกฎของการแยกเปลี่ยนไปอย่างไรใน Java 8
110 java  regex  split  java-8 

6
Java Generics (สัญลักษณ์แทน)
ฉันมีคำถามสองสามข้อเกี่ยวกับไวด์การ์ดทั่วไปใน Java: อะไรคือความแตกต่างระหว่างList&lt;? extends T&gt;และList&lt;? super T&gt;? wildcard ที่มีขอบเขตคืออะไรและ wildcard ที่ไม่มีขอบเขตคืออะไร?

10
Android: ผู้ฟังช่องทำเครื่องหมาย
ฉันต้องการใส่ Listener ไว้เหนือไฟล์CheckBox. ฉันค้นหาข้อมูลและเป็นเช่นนี้: satView = (CheckBox)findViewById(R.id.sateliteCheckBox); satView.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { if (isChecked){ // perform logic } } }); ปัญหาคือ Eclipse คิดว่าเป็นOnCheckedChangeListenerสำหรับ a RadioGroupและไม่ได้ผล ฉันจะแก้ไขปัญหานี้ได้อย่างไร?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.