在eclipse或intellij中添加到classpath时会发生什么

时间:2016-08-05 08:35:50

标签: java eclipse intellij-idea classpath

有人可以解释在eclipse或intellij中向classpath添加一些jar时会发生什么。这个类路径只适用于这个项目/ application / jvm吗? 感谢。

我知道应用程序能够在jar中使用类。我不明白的是这个类路径是什么。它是否与系统环境变量中的类路径相同?这个类路径只适用于这个项目/ application / jvm吗?其他项目/应用程序是否可以使用此类路径?

我正在开发一个基于Grails的项目。我在配置文件中看到了这一行。

class CustomItem : public QGraphicsItem
{
private:
    struct RectText
    {
        QRectF      rect;
        std::string text;
    };

    QList<RectText> _rectTexts;

public:
    <...>

    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
               QWidget *widget = nullptr);
    {
        <...>

        _rectTexts << {RectF, strText};
    }

    std::string GetTextByCoordinates(int x, int y)
    {
        for (const auto &rt:    _rectTexts) {
            if (rt.rect.contains(x, y))
                return rt.text;
        }

        return "";
    }
};

这里有什么类路径?

2 个答案:

答案 0 :(得分:1)

您将获得文件名, 当您将jar添加到类路径时,您的应用程序将在-cp(classpath)参数中以此jar开始。使用从外部jars中添加的类(添加到项目的classpath中)时,您将不会收到ClassNotFoundException。

创建Web应用程序时,添加到classpath的jar将复制到已安装应用程序的lib文件夹中,并通过jmv加载以启动Web应用程序。 如您在此答案中所见

答案 1 :(得分:0)

当你将jar添加到classpath时,你的应用程序以-cp(classpath)参数中的jars开头。当您使用外部jar中的类时,您将不会获得ClassNotFoundException,而是添加到项目的类路径中。

创建Web应用程序时,添加到类路径的jar将复制到已安装应用程序的 lib 文件夹,并通过启动Web应用程序的jmv加载。