.jar 종속성으로 Java 응용 프로그램을 실행할 수 없음- '오류 : 주 클래스를 찾거나로드 할 수 없음'

그래서 내 코드는 IDE에서 잘 실행 javax.mail.jar되고 종속성으로 설정되어 있고 코드가 잘 실행됩니다.

내가 사용해야 Console console = System.console();하고 IDE 내에서 작동하지 않는 것을 제외하고

그래서 내 코드를 컴파일하고 터미널을 통해 실행하려고하는데, 코드를 실행할 때 오류가 반환되지만 컴파일 할 수 있습니다.

오류 : 메인 클래스 Main을 찾거나로드 할 수 없습니다.

이것이 내가 컴파일하는 것입니다.

javac -cp "./javax.mail.jar"Main.java

그런 다음 실행하려면 :

java -cp "./javax.mail.jar"기본

하지만 오류가 발생합니다. Main 클래스를 찾거나로드 할 수 없습니다.

이것은 내 전체 코드입니다.

package com.company;

import java.io.IOException;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Main {
public static void main(String[] args) throws IOException {


    Properties props = new Properties();
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.socketFactory.port", "465");
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.port", "465");

    Session session = Session.getDefaultInstance(props,
            new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication("[email protected]","pass");
                }
            });

    try {

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress("[email protected]"));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]"));
        message.setSubject("JavaMail");
        message.setText("Hi," + "\n\n This is a test");

        Transport.send(message);

        System.out.println("Sent!");


    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }
}


}

편집 : 또한 상위 디렉토리에서 실행을 시도했습니다 (이것은 내 com 폴더가 있습니다 java.mail.jar).

java -cp "./javax.mail.jar ;." com.company.Main

그러나 나는 이것을 얻는다 :

오류 : com.company.Main 기본 클래스를 찾거나로드 할 수 없습니다.

Sanjeev

다음과 같이 com의 상위 폴더에서 컴파일해야합니다.

javac -cp "./javax.mail.jar:." com/company/Main.java

그리고 실행

java -cp "./javax.mail.jar:." com.company.Main

도움이 되었기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관