当前位置: 首页 > 知识库问答 >
问题:

无法运行具有.jar依赖关系的java应用程序-“错误:无法找到或加载主类”

微生嘉祥
2023-03-14

这是我所做的编译:

javac-cp“./javax.mail.jar”main.java

然后运行它:

这是我的完整代码:

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("TestEmail@gmail.com","pass");
                }
            });

    try {

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress("TestEmail@gmail.com"));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("TestEmail@gmail.com"));
        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);
    }
}


}

Edit:还尝试从父目录运行(其中包含my com文件夹和java.mail.jar):

java-cp“./javax.mail.jar;。Company.Main

但我明白了:

错误:找不到或加载main类Com.Company.main

共有1个答案

楚博雅
2023-03-14

您应该通过以下方式从com的父文件夹编译它:

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

然后运行

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

希望这有帮助。

 类似资料:
  • 我的配置如下: Apache Maven 3.3.3(7994120775791599e205a5524ec3e0dfe41d4a06;2015-04-22T14:57:37 03:00) 我使用Spring Tool Suite 3.7.1。发布(构建ID:201510041213)。 我做了关于Java、Maven和STS的所有设置,但是当我试图运行任何Maven命令时,STS会抛出这个异常,

  • 我在创建工作JAR文件时遇到问题。我可以跑步。类文件如下所示: 但作为jar运行(在构建脚本中)失败: 我将通过使用简单的Hello World项目来简化我遇到的问题: 文件需要进入文件夹。JAR文件需要在文件夹中。是构建JAR文件的bash脚本。如下: 你好世界java: 运行JAR文件,如构建中所示。sh结果 如前所述,直接运行应用程序效果很好。 这是的结构。 的内容。 我已经工作了6年了,现

  • 问题内容: 我想连接我的java程序以连接数据库并检索数据。它的编译完美,但运行时即时得到这个 我已经安装了Java SQL驱动程序,并将jar路径作为CLASSPATH添加到环境变量中 问题答案: 您应该从这里下载驱动程序 和JAR文件需要添加到项目类路径。 首先,右键单击Eclipse Project,然后单击Project-> Build Path-> Configure Build Pat

  • 当我正常运行此代码时,它会吐出: 异常线程"main"java.lang.ClassNotFoundExcture: bookReader 在java.net.URLClassLoader.find类(URLClassLoader.java:381) 在java.lang.ClassLoader.load类(ClassLoader.java:424)<在sun.misc.启动$AppClassLo

  • 我目前正在学习springboot。通过选择spring starter project,我在STS中创建了一个项目。spring boot版本2.2.2和已导入JPA、H2和RestRepository。 下面是我的领域类, 应用属性 存储库类 在波姆。xml显示了下面提到的错误。不确定,因为这一点,我得到了错误,但我没有在pom的任何变化。xml 在运行项目时,我得到了以下错误,不知道为什么整

  • 我使用的是Eclipse最新版本,每次我以“Java应用程序”的形式运行这个简单代码时,都会遇到错误“找不到或加载主类”。我是新来的,所以对Java知之甚少。我期待着一些帮助,请详细说明。运行配置窗口截图Buildpath配置截图。窗