首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

lein uberjar -没有正确设置主类?

lein uberjar是Clojure语言中的一个构建工具,用于将Clojure项目打包成可执行的JAR文件。它可以将项目的所有依赖项打包到一个JAR文件中,方便部署和运行。

"没有正确设置主类"是指在使用lein uberjar命令时,没有正确配置项目的主类。主类是指在执行JAR文件时,系统会首先调用的类。如果没有正确设置主类,系统将无法找到入口点,导致JAR文件无法正常运行。

为了解决这个问题,需要在项目的配置文件(project.clj)中正确设置主类。具体的设置方式如下:

  1. 打开项目的配置文件(project.clj)。
  2. 在文件中找到:main关键字,该关键字用于指定项目的主类。
  3. 确保:main关键字后面的值是正确的主类名称,包括命名空间(namespace)和类名(class name)。
  4. 如果主类位于其他命名空间中,需要使用点号(.)将命名空间和类名分隔开。
  5. 保存配置文件。

以下是一个示例的project.clj文件,展示了如何正确设置主类:

代码语言:txt
复制
(defproject my-project "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.10.3"]]
  :main my-project.core)

在上述示例中,:main关键字后面的值是my-project.core,表示项目的主类是my-project.core命名空间中的类。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 云数据库 MySQL 版(CMYSQL):https://cloud.tencent.com/product/cmysql
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai

请注意,以上链接仅供参考,具体选择产品时需要根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Clojure 运行原理之字节码生成篇

    上一篇文章讲述了 Clojure 编译器工作的整体流程,主要涉及 LispReader 与 Compiler 这两个,而且指出编译器并没有把 Clojure 转为相应的 Java 代码,而是直接使用...Clojure 作为一本函数式编程语言,最基本的概念是函数,没有的概念,那么 Clojure 代码生成以为主的 bytecode 呢?...首先需要明确一点,JVM 并不慢,我们可以将之前的 Hello World 打成 uberjar,运行测试下时间。...# 为了能用 java -jar 方式运行,需要在 project.clj 中添加 # :main how-clojure-work.core $ lein uberjar $ time java -jar...把生成的 uberjar 解压打开,可以发现 clojure.core 里面的函数都在,这些函数在程序启动时都会被加载。 这就是 Clojure 启动慢的原因:加载大量用不到的

    72920

    运行jar命令提示:没有主清单属性或者找不到或无法加载

    文章如题:在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性。这是怎么回事? 工具/原料 首先确认你是否有文件好java。 电脑需要安装winrar。...某某类的没有主清单属性。 这样的问题是因为,jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口。说白了就是没有指定class。...解决这个问题的方法就是要在MANIFEST.MF文件中添加一个入口。即需要一个Main-Class定义行。更详细的MANIFEST.MF文件定义说明,请参考官方MANIFEST.MF文件定义手册。...之后,在双击打开这个文件夹META-INF: 再选择MANIFEST.MF文件,用记事本打开它: 现在看看文件中是否有Main-Class这样一行文字,如果没有的话那么添加一行。...如果你没有空格的话,还是问题是解决不了的。 添加修改好后,关闭记事本。并保存: 解压软件这时候提示,是否更新。点击是: 然后我们再次执行jar包就行。

    5.3K10

    jar中没有主清单属性啥意思啊_eclipse 找不到或无法加载

    今天新写的SpringBoot项目打jar包部署的时候遇到一个问题,xxx.jar包中没有主清单属性。...如下图所示: 清单属性是jar包中MANIFEST.MF文件中的一个属性,MANIFEST.MF文件位于jar包的META_INF路径下 打开MANIFEST.MF文件,里面有如下属性: Manifest-Version...Main-Class:属性值代表了Spring Boot中启动jar包的程序,值为 org.springframework.boot.loader.JarLauncher,这个就是Springboot启动项目的...Start-Class:属性值代表了Spring Boot程序的入口,即XXXApplication Spring-Boot-Classes:属性值代表了路径,所有编译后的class文件,以及配置文件...当我百思不得其解的时候 ,我比较了我之前项目的pom文件,发现没有这个标签,然后我尝试删除pluginManagement标签之后。再次编译的jar包终于运行成功。

    2.1K20

    【面试题精讲】如果一个没有声明构造方法,该程序能正确执行吗?

    通过构造方法,我们可以设置对象的初始状态、分配内存空间、初始化成员变量等。如果一个没有声明构造方法,则会使用默认的无参构造方法来创建对象。 3. 如果一个没有声明构造方法,该程序能正确执行吗?...如果一个没有显式地声明任何构造方法,那么编译器会自动为该类生成一个默认的无参构造方法。这个默认构造方法不包含任何代码,只是简单地调用父的无参构造方法。...因此,即使一个没有声明构造方法,程序也可以正确执行。...,但是程序依然可以正确执行。...然而,如果一个没有提供任何构造方法,可能会导致对象在创建时没有经过必要的初始化操作。在使用构造方法时,我们应该注意合理设计构造方法的参数列表、避免代码冗余,并正确处理继承关系。

    67380

    使用 ClojureScript 开发浏览器插件的过程与收获

    整体工作流程如下: Cljs 还提供 与原生 JS 的交互、集成第三方库的支持,所以,只要能用 JS 的地方,都能用 cljs, 开发环境准备 开发 cljs 的环境首选 lein + figwheel...,figwheel 相比 lein-cljsbuild 提供了热加载的功能,这一点对于开发 UI 很重要!...采用这种方式会报如下的错误 根据错误提示,可以看出是 base.js 再去动态引用其他 js 文件时,是以访问网站为相对路径开始的,因此也就找不到正确的 JS 文件了。...在 dev 过程中,推荐设置 cljsbuild 的 optimizations 为 none,以便得到最快的编译速度; 在 release 过程中,可以将其设置为 advanced,来压缩、优化 js...IDE Clojure 里面采用 Emacs + Cider 的开发环境非常完美,但是到了 cljs 里面,开发流程没有那么平滑,总是有些磕磕绊绊,也给 cider 提了个 issue,貌似一直没人理,

    78430

    又是一个名叫草泥马的项目:thefuc

    本文原文全部来自thefuck的readme,没有参考任何第二手资料! 其他任何网站有雷同,全部是来自本文!...lein_not_task:修正 lein,例如 lein rpl。 mkdir_p:mkdir 时尝试添加 -p 选项。 no_command:修正不存在的命令,例如 vom 修正为 vim。...man_no_space:将没有空格的 man 命令添加空格,例如 mandiff 修正为 man diff pacman:arch 系统上,如果使用没有安装的软件,尝试使用 pacman 或者 yaourt...大部分情况下,thefuck 可能给出的是正确的修正,但是小部分情况下,给出的修正并不是你想要的。...所以建议将 ~/.thefuck/settings.py 中的设置改为 require_confirmation = True,这样可以自己决定是否执行修正后的命令。

    83710

    前端构建:Source Maps详解

    下面我们通过lein+cljsbuild插件来生成source maps从而解决上述问题!  ...命令 $ lein cljsbulid once  然后我们开启Chrome的devTools中js和css的source maps功能即可像在VS上调试C#一样爽快了。...在sample.cljs文件中设置断点,然后调用sample.becomeGeek调试即可! Chrome的devTools: ? FF的devTools: ?....map文件,其实是一个关系映射文件,用于存放源码和编译后代码的文件、行号、列号和变量名的映射关系; .map文件生成器,每种预处理器(Lessc、Closure、cljsc等)都可通过可选项设置如何生成...数组中的索引值;               第3组,表示对应源码的第几行;               第4组,表示对应源码的第几列;               第5组,表示在names数组中的索引值,若没有则可省略

    1.6K80

    2018年10大安全预测

    客户还没有意识到GDPR的威胁,直到为时已晚 根据Netskope在9月份公布的一份报告显示,有超过3/4的云服务还没有为欧盟的GDPR条例做好准备。...BeyondTrust安全专家这样表示,这项立法似乎并没有被很好地理解,这将导致很多企业组织持等待状态,直到发生第一次诉讼才醒悟过来。...Trend Micro建议,那些处理敏感数据的企业和行业要设置一个专门的数据保护官(DPP),可以负责数据处理和数据监控。...物联网设备将成为攻击者越来越有利可图的威胁目标 自动机器人现在已经进入物联网设备中,破解工厂设置的从而修改过的密码,然后通过网络传播蔓延,影响甚至是永久性地摧毁其他设备和应用,Ribbon Communication...Lein说,那些帮助企业组织拥抱自动化的产品,将赢得越来越多的市场份额。

    70850

    Clojure 开发那些事

    这也就意味我们或多或少需要了解这些宿主语言,比如 Clojure 里面没有提供直接操作文件系统、网络的库,而是采用间接的方法去调用其宿主语言的相应库。...使用比较简单,通过 Intellj 插件管理器安装后即可使用,第一次使用时需要设置下快捷键类型 Emacs + Cider 作为一门 Lisp 方言,怎么能没有一个好的 Emacs mode 呢?...第三方库的选择 由于 Clojure 语言定位就是个寄宿语言,所以无论是 Web 框架,还是数据库连接池,Clojure 里都有与 Java 版相对应包装库,大家不必担心要使用某个功能,而没有相应库的问题...,但是这里我必须说明一点,Clojure 库的文档对初学者不够友好,最起码对我来说是的,我相信我不可能是个例。...Emacs 里面是:M-x cider-connect lein 里面是:lein repl :connect 192.168.50.101:4343 总结 国内关于介绍 Clojure 开发的比较少,

    1.6K20
    领券