Lớp JavaLaunchHelper được triển khai trong cả hai libinstrument.dylib. Một trong hai người sẽ được sử dụng. Cái nào không xác định


274

Tôi đã nâng cấp lên Java 7u40 mới nhất trên MacOS X và bắt đầu nhận được thông báo sau trên bảng điều khiển khi khởi chạy ứng dụng của mình bằng Eclipse. Ứng dụng hoạt động tốt nhưng tôi muốn tìm hiểu nguyên nhân của vấn đề và hy vọng sẽ khắc phục nó.

objc[10012]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.

Có ai biết tại sao tin nhắn này được in và cách khắc phục không?


3
Mặc dù đây có thể là một lựa chọn khả thi để khắc phục loại sự cố cụ thể này - điều này có thể khiến bạn dễ bị rò rỉ bảo mật trong u45 và hơn thế nữa.
Matthias Wenz

5
Điều tương tự cũng xảy ra với jdk1.8.0_05
neu242

28
Một năm đã trôi qua và lỗi vẫn còn cằn nhằn mọi nhà phát triển Java tình cờ sử dụng máy Mac (được xác minh bằng jdk1.7.0_67 trên OS X 10.9.3). Đáng xấu hổ. Bất cứ ai có thông tin đăng nhập phù hợp, vui lòng mở lại các lỗi bug.java.com / bugdatabase / view_orms.do? Bọ_id = 8021205bug.openjdk.java.net / browse / JDK
Tobia

8
Lỗi vẫn tồn tại cho jdk1.8.0_25. Đây chỉ là một tin nhắn cằn nhằn hay một vấn đề thực tế?
Churk

7
Một báo cáo lỗi về vấn đề này cho thấy một bản sửa lỗi có thể được bao gồm trong bản phát hành JDK9. Báo cáo lỗi tương tự nói rằng: "Đối với những người tiếp tục hỏi về điều này: Thông điệp là lành tính, không có tác động tiêu cực nào từ vấn đề này vì cả hai bản sao của lớp đó đều giống hệt nhau (được tổng hợp từ cùng một nguồn chính xác). vấn đề thẩm mỹ. "
Jordan

Câu trả lời:


176

⚠️ Đối JetBrains IntelliJ IDEA : Đến Help -> Edit Custom Properties.... Tạo tập tin nếu nó yêu cầu bạn tạo nó. Để vô hiệu hóa thông báo lỗi, dán phần sau vào tệp bạn đã tạo:

idea_rt
idea.no.launcher=true

Điều này sẽ có hiệu lực khi khởi động lại IntelliJ.

Tôi đang dùng phiên bản IDE của Eclipse: Phiên bản Photon (4.8.0) ID bản dựng: 20180619-1200 đang chạy macOS 10.14.6 (Mojave). Tôi đã thêm dòng idea.no.launcher=truevào <install location>/eclipse/configuration/config.inivà điều này đã giải quyết vấn đề cho tôi.


9
Làm việc cho tôi mà không làm gì khác. Điều này cần được đánh dấu chính xác.
trishulpani

7
Làm việc cho tôi trên IDEA 2017.1.3 OSX 10.12.5 JRE 1.8
Daniel Rucci

2
OP đã sử dụng Eclipse, không phải IntelliJ. Vì vậy, bạn đang cung cấp cho họ các hướng dẫn để sửa đổi cài đặt trong trình chỉnh sửa sai (do đó nó không được đánh dấu là chính xác).
Allison

2
Tôi đồng ý với @ ALLison - nếu câu trả lời này bao gồm một phương tiện cho Eclipse thì nó sẽ rất tuyệt vời. Nhưng trả lời cho IDE sai?
Daniel Soutar

1
Đã hoạt động cho IntelliJ 2018.3.3 CE, SDKman 5.7.3 + 337 và phiên bản OpenJDK "1.8.0_131" (Zulu 8.21.0.1-macosx).
David Lukac

117

Kể từ tháng 10 năm 2017, vấn đề này hiện đã được giải quyết trong


4
Tôi mới cài đặt phiên bản java "1.8.0_144" và tôi gặp phải vấn đề này.
Reihan_amn

2
@Reihan_amn bạn sẽ, cho đến khi xây dựng 152
muttonUp

1
Tôi đã có vấn đề với jdk1.8,65 nhưng jdk1.8.152 đã khắc phục vấn đề này. Cảm ơn
Anshul

20
  1. Cài đặt Java 7u21 từ: http://www.oracle.com/technetwork/java/javase/doads/java-archive-doads-javase7-521261.html#jdk-7u21-oth-JPR

  2. Đặt các biến này:

    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
  3. Chạy ứng dụng của bạn và vui chơi :)


3
Công trình cũng cho 1.8.0_92: # trong zshrc hoặc xuất khẩu JAVA_HOME .bashrc = / Library / Java / JavaVirtualMachines / jdk1.8.0_92.jdk / Contents / Nhà xuất khẩu PATH = $ JAVA_HOME / bin: $ PATH
BvuRVKyUVlViVIc7

@Lichtamberg cảm ơn vì điều này đã khắc phục các sự cố của tôi trên Java 8 mac osx. Tôi đã thêm nhận xét của bạn dưới dạng câu trả lời vì hầu hết các câu trả lời khác đều hoạt động nhưng hiện tại là tuyệt đối.
Pritesh Jain

1
@gotoalberto Biến môi trường này sẽ giải quyết vấn đề như thế nào khi cả việc triển khai JavaLaunchHelper đều nằm trong thư mục Home?
Prashant

1
@Lichtamberg Tôi đang sử dụng máy chạy sonar để bắt đầu đánh giá mức độ bao phủ mã của ứng dụng. Tôi vẫn gặp vấn đề tương tự với phiên bản bạn đã đề cập ở trên. mặc dù tôi đã thử nhiều phiên bản 8 với các bản vá trong hệ điều hành mac. Không may mắn.
Sathish

ĐỪNG LÀM ĐIỀU NÀY. Java 7u21 (ngoài việc được phát hành vào năm 2013 và do đó đã bỏ lỡ bốn năm bản vá lớn và nhỏ) có một lỗ hổng thực thi mã tùy ý: gist.github.com/frohoff/24af7913611f8406eaf3
mseebach

11

Sao chép ý kiến ​​của @ Lichtamberg để trả lời của gotoalberto

Cũng hoạt động với Java 1.8:

# in ~/.zshrc and ~/.bashrc

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home 
export PATH=$JAVA_HOME/bin:$PATH 

Điều này đã khắc phục sự cố của tôi trên java 8.


4
Vẫn gặp sự cố trong Android Studio (2.2p3) sau khi chỉnh sửa ~ / .zshrc và ~ / .bashrc
Mic Fok

không hoạt động cho intellij, có bước tiếp theo sau khi tạo / chỉnh sửa các tệp này không?
xpto

5

Không chắc đây có phải là nguyên nhân của sự cố không, nhưng tôi chỉ gặp sự cố này sau khi cài đặt JVM Monitor .

Gỡ cài đặt JVM Monitor đã giải quyết vấn đề cho tôi.


Tương tự ở đây, JVM Monitor cho Eclipse đã gây ra thông báo (JBoss 7.1, JDK 1.8.0.X).
tâm thần

Nó bắt đầu với tôi khi tôi cài đặt plugin eclEmma trong nhật thực
Nooblhu

Cùng một vấn đề ở đây. Đã gỡ cài đặt màn hình JVM và điều này không còn hiển thị nữa
Zhiya

4

Như chi tiết câu trả lời khác, đây là một lỗi trong JDK (tối đa u45) sẽ được sửa trong JDK7u60 - trong khi điều này chưa được khắc phục, bạn có thể tải xuống b01 từ: https://jdk7.java.net/d Download. html

Đó là bản beta, nhưng đã khắc phục vấn đề đó cho tôi.


11
Tôi đã cài đặt u60 nhưng vẫn nhận được Class JavaLaunchHelper được triển khai trong cả /L Library / Java / JavaVirtualMachines / jdk1.7.0_60.jdk / Content / Home / bin / java và /L Library / Java / JavaVirtualMachines / jk Trang chủ / jre / lib / libinstrument.dylib. Một trong hai người sẽ được sử dụng. Cái nào không xác định.
Rich Sadowsky 18/12/13

có vẻ như nó đã được giới thiệu lại giữa b01 và b02
npskirk 27/12/13

2
Bất kỳ tham chiếu đến các lỗi? URL?
binarytemple_picsolve

3
Nó thực sự không cố định vẫn còn. Họ đã ủng hộ bản sửa lỗi của u60
Zanson

2

https://groups.google.com/forum/#!topic/google-appengine-stackoverflow/QZGJg2tlfA4

Từ những gì tôi tìm thấy trên mạng, đây là một lỗi giới thiệu trong JDK 1.7.0_45. Tôi đã đọc nó sẽ được sửa trong bản phát hành tiếp theo của Java, nhưng nó vẫn chưa ra. Giả sử, nó đã được sửa trong 1.7.0_60b01, nhưng tôi không thể tìm thấy nơi tải xuống và 1.7.0_60b02 giới thiệu lại lỗi.

Tôi đã xoay sở để giải quyết vấn đề bằng cách quay trở lại JDK 1.7.0_25. Có lẽ không phải là giải pháp bạn muốn, nhưng đó là cách duy nhất tôi có thể làm cho nó hoạt động. Đừng quên thêm JDK 1.7.0_25 trong Eclipse sau khi cài đặt JDK.

Vui lòng KHÔNG TRẢ LỜI trực tiếp vào email này mà hãy truy cập StackOverflow: Class JavaLaunchHelper được triển khai trong cả hai. Một trong hai người sẽ được sử dụng. Cái nào không xác định


1

Để giải quyết vấn đề này, tôi đã hạ cấp xuống phiên bản JDK 1.7.0_21 . sau đó tôi đã sử dụng tập lệnh bash nhỏ này để thay đổi phiên bản tôi sử dụng.

function setjdk() {
  if [ $# -ne 0 ]; then
   removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
   if [ -n "${JAVA_HOME+x}" ]; then
    removeFromPath $JAVA_HOME
   fi
   export JAVA_HOME=`/usr/libexec/java_home -v $@`
   export PATH=$JAVA_HOME/bin:$PATH
  fi
 }

 function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
 }

Khi bạn có tập lệnh bash trong tệp zshrc / bshrc của mình, chỉ cần gọi setJdk 1.7.0_21và bạn sẽ ổn.


0

Chà, sau một vài lần vật lộn, điều làm việc cho tôi đã loại bỏ hoàn toàn JDK hiện tại, như được mô tả ở đây :

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/LaunchAgents/com.oracle.java.Java-Updater.plist
sudo rm -rf /Library/PrivilegedHelperTools/com.oracle.java.JavaUpdateHelper
sudo rm -rf /Library/LaunchDaemons/com.oracle.java.JavaUpdateHelper.plist
sudo rm -rf /Library/Preferences/com.oracle.java.Helper-Tool.plist

Sau đó cài đặt 1.7.0_21, được tải xuống từ đây .

Bây giờ java -versionnhắc:

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b12)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

0

Tháng 7 năm 2019

OSX Mojave 10.14.5 (18F132) Phiên bản cộng đồng IntelliJ 2019-1. Nó làm việc thiết lập tập tin idea.properies. Tôi cũng đã định cấu hình JAVA_HOME trỏ đến / L Library / Java / JavaVirtualMachines / jdk1.8.0_121.jdk / Content / Home /

các thuộc tính IntelliJ IDEA tùy chỉnh

idea_rt idea.no.launcher = true


-2

Nếu bạn đang sử dụng IntelliJ & Mac, chỉ cần đi đến Cấu trúc dự án -> SDK và đảm bảo rằng có Java được liệt kê nhưng nó trỏ đến sth như

/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home

Thay vì nhà người dùng ...


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.