Tag: sbt

在没有sbt的情况下运行sbt创建的应用程序

这是某个问题的后续行动。 当我使用sbt创建Scala包时,我可以使用以下方法之一运行它: 只需在sbt控制台中键入run即可 或者通过创建一个jar文件(使用one-jar或assembly ),并通过键入java -jar myjar.jar在系统控制台中运行此jar java -jar myjar.jar 但我不知道该怎么做 从scala程序运行我的包? (不是sbt scala控制台,通过输入import mypackage._可以正常工作) 在另一个项目中使用我的Scala包? 例如,通过在另一个项目中导入myjar ? 编辑 :你可以忘记我下面关于sbt-start-script因为现在我正在使用sbt-native-packager (我刚试过它并且它有效,但我以前的问题仍未解决)。 我试过使用sbt-start-script但不成功。 target/start脚本创建良好但我得到了这样的错误: $ sh target/start target/start: 2: target/start: Bad substitution Exception in thread “main” java.lang.NoClassDefFoundError: Hi Caused by: java.lang.ClassNotFoundException: Hi … 这里我只在src/main/scala文件夹中有一个main.scala文件,它是: object Hi { def main(args: Array[String]) = println(“Hi!”) } 我在build.sbt使用这些设置: import com.typesafe.sbt.SbtStartScript […]

适用于Android的Scala库

我现在读了一个话题IntelliJ Idea 12 + Android + Scala ,这似乎是我所需要的。 但是,我需要稍微不同的东西:我只想在Scala中创建一个库并在android项目中使用它。 那个android项目也可以使用Java或Scala,没关系。 我不想在Scala中创建一个完整的android项目。 那么我该如何创建这样的库? 我是否需要使用http://fxthomas.github.io/android-plugin/上的教程创建一个android项目 ? 或者一个普通的scala库 ,根本不了解android(事实上它将在android项目中使用),然后当我将它添加到android项目时,我将不得不以某种方式添加scala支持? PS我使用IntelliJ Idea 12和sbt。

无法扩展由以前版本的Scala编译的宏(scala 2.11.4,sbt 0.13.7,JDK 8)

我正在将项目转换为Scala 2.11.4和sbt 0.13.7。 我遇到了很多错误,其中一些是: can’t expand macros compiled by previous versions of Scala [error] preloadDevice <<= preloadDeviceTask 对于此代码: lazy val settings: Seq[Setting[_]] = inConfig(Android) (Seq( // Preload Scala on the device/emulator preloadDevice <<= preloadDeviceTask, preloadEmulator <<= InputTask( (sdkPath)(AndroidProject.installedAvds(_)))(preloadEmulatorTask), // Uninstall previously preloaded Scala unloadDevice <<= unloadDeviceTask, unloadEmulator <<= InputTask( (sdkPath)(AndroidProject.installedAvds(_)))(unloadEmulatorTask) )) 我如何解决它? 更新: JDK 8

如何在scala的构建工具(sbt)中修复“InvalidAlgorithmParameterException:trustAnchors参数必须为非空”?

在新的Ubuntu 17.10安装中,我根据文档安装了scala构建工具(sbt) : echo “deb https://dl.bintray.com/sbt/debian /” | sudo tee -a /etc/apt/sources.list.d/sbt.list sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823 sudo apt-get update sudo apt-get install sbt 然而,当运行sbt时,要么只是为了获得它的版本,要么建立一个项目,我得到这个错误: Getting org.scala-sbt sbt 1.1.0 (this may take some time)… :: problems summary :: :::: WARNINGS module not found: org.scala-sbt#sbt;1.1.0 ==== local: tried /home/philipp/.ivy2/local/org.scala-sbt/sbt/1.1.0/ivys/ivy.xml — artifact org.scala-sbt#sbt;1.1.0!sbt.jar: /home/philipp/.ivy2/local/org.scala-sbt/sbt/1.1.0/jars/sbt.jar ==== […]

在Play 2 Framework上配置QueryDSL

我尝试在Play Framework中配置QueryDSL (使用Java),但没有成功。 我在谷歌搜索过类似的问题,这就是我发现的: 1. QueryDSL和Play 。 但这篇建立与Lombok等效的post和解决方案对我来说并不适用。 2. 模拟MAVEN过程 。 这是我真正需要将它应用于其他类似模块,但没有显示如何的示例。 3. 配置多个模块 。 在这种情况下包括几个模块,有点混乱。 那么,我如何在Play中配置QueryDSL? 任何人都可以提供一个如何做的例子? 提前致谢。

sbt目录结构中非托管jar的lib目录在哪里?

我正在尝试将jar文件添加到sbt项目中,但我无法确定将它们存储在何处。 sbt文档说“只需将它们放在lib文件夹中,你就好了!”,但是不要提供有关实际放置此lib文件夹的位置的任何信息。 lib文件夹是否在src下? 在src文件夹所在的顶级层次结构中? 我真的不确定,也会感激一些帮助。

用于引导我的第一个生产scala项目的框架是什么?

我正在为生产应用程序首次涉足scala。 该应用程序目前打包为war文件。 我的计划是创建一个scala编译工件的jar文件,并将其添加到war文件的lib文件夹中。 我的增强function是通过Jersey公开的mysql支持的应用程序,并将通过HttpClient调用与第三方网站集成。 我知道如何通过普通的java做到这一点。 但是当我在scala中做这件事时,我有几个决定点,我正在pussyfooting。 scala 2.7.7或2.8 RC? JDBC通过querulous这个API准备生产了吗? sbt vs maven。 我对maven很满意。 是否有一个用于HttpClient的scala惯用包装器(或者我应该像在java中一样使用它)? 我很想听听你对scala开始的评论和经验。

在哪里可以找到下载的sbt库?

sbt把下载的jar放在哪里? 我试图让sbt下载所有依赖项并将它们放在lib /目录下,这样我就可以将它们与ScalaIDE一起使用,但是在我成功运行sbt compile之后我不知道在哪里可以找到这些下载的.jars

使用IntelliJ或Play时,如何使“Java Hot Spot MaxPermSize”警告消失?

当我启动IntelliJ或在Play项目中运行play时,我收到此警告。 Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0 我怎么让它消失? Maven的相同问题的答案是从MAVEN_OPTS环境变量中删除MaxPermSize选项。 我的机器上没有设置MAVEN_OPTS变量。 我想有一些类似的sbt设置,但我不知道它在哪里。 我看到了有关Java变化的许多解释 ,但是在使用Scala时,我没有看到任何有关如何使此警告消失的提示。 OS X 10.9.4。 Scala 2.11.1。 sbt 0.13.5 编辑 基本上我要问的是“我的系统MaxPermSize上的所有位置都可以设置在哪里?” 我的机器上sbt-launch-lib.bash设置sbt-launch-lib.bash 。 我确实找到了IntelliJ的MaxPermSize Scala-> JVM Parameters选项。 删除它会使IntelliJ中的警告消失。 编辑 改变了问题。 我最初说这发生在SBT。 (下面的一些评论解决了这个问题。)这是我的错误。 只有当我从命令行运行play时,才会运行SBT。 是Play的已知错误指定MaxPermSize参数吗? 有没有办法让它停止? 编辑 我认为这不是jdk 8中PermGen消除的重复。 该线程描述了警告出现的原因,但未解释如何更改IntelliJ或Play配置以使其不再显示。

如何获取有关“function”标志警告的更多信息?

使用Play2编译应用程序时,有时这些消息会出现在我的终端上: [info]将1个Scala源编译为〜/ target / scala-2.10 / classes … [警告]有1个function警告; 重新运行-feature以获取详细信息 [警告]发现一个警告 [成功]编译成1s 如何获得有关这些警告的更多信息? 它必须是sbt的一个选项,但我不知道在哪里搜索…