คำถามติดแท็ก sbt

sbt เป็นเครื่องมือสร้างโอเพ่นซอร์สสำหรับโปรเจ็กต์ Scala และ Java ซึ่งคล้ายกับ Maven หรือ Ant ของ Java

3
build.sbt และ build.scala แตกต่างกันอย่างไร
ฉันเริ่มเรียนรู้ Scala และเกือบทุกบทช่วยสอนฉันเห็นbuild.sbtไฟล์ที่อธิบายการตั้งค่าโครงการ แต่ตอนนี้ฉันได้ติดตั้งgiter8และสร้างโปรเจ็กต์จากเทมเพลตแล้ว และสร้างโปรเจ็กต์จากbuild.sbtไฟล์ที่พลาดเทมเพลตแต่มีbuild.scala(ซึ่งดูเหมือนจะใช้เพื่อวัตถุประสงค์เดียวกัน แต่มีความยืดหยุ่นมากกว่า) แล้วอะไรคือความแตกต่างระหว่างbuild.sbtและbuild.scala? ชอบแบบไหนมากกว่ากันและเพราะอะไร?
107 scala  sbt 

4
sbt สามารถดึงสิ่งประดิษฐ์การพึ่งพาจาก git ได้อย่างไร
ฉันเคยได้ยิน (และฉันรู้ว่าฉันเคยเห็นตัวอย่างด้วยเช่นกันถ้าฉันจำได้แค่ไหน) ที่sbtสามารถรับการอ้างอิงจาก git repo ฉันต้องการได้รับharrah / upจาก github พื้นที่เก็บข้อมูลไม่ได้ให้ไฟล์ JAR สิ่งประดิษฐ์ใด ๆ sbtเพียงแหล่งต้นไม้ที่มีการตั้งค่าที่จะสร้างขึ้นโดยใช้ กระบวนการที่ฉันจินตนาการคือsbtจะดาวน์โหลดแหล่งที่มา repo สร้างขึ้นจากนั้นใช้สิ่งนั้นเป็นสิ่งประดิษฐ์การพึ่งพา ฉันอาจจินตนาการว่าที่sbtจริงแล้วสามารถทำอะไรแบบนี้ได้ ได้หรือไม่? และถ้าเป็นเช่นนั้นอย่างไร?

4
ใครสามารถอธิบายวิธีใช้ SBT ที่ถูกต้องได้หรือไม่?
ฉันกำลังจะออกจากตู้ในเรื่องนี้! ฉันไม่เข้าใจ SBT ฉันบอกว่าตอนนี้ช่วยฉันด้วย ถนนทุกสายมุ่งสู่กรุงโรมและที่เป็นเหมือนกันสำหรับ SBT: การเริ่มต้นกับSBTมีSBT, SBT Launcher, SBT-extrasฯลฯ และจากนั้นก็มีวิธีการที่แตกต่างกันรวมและตัดสินใจเกี่ยวกับการเก็บ มีวิธีที่ 'ดีที่สุด' หรือไม่? ฉันถามเพราะบางครั้งฉันก็หลงทางนิดหน่อย เอกสาร SBT มีความละเอียดและสมบูรณ์มาก แต่ฉันพบว่าตัวเองไม่รู้ว่าควรใช้build.sbtหรือproject/build.propertiesหรือproject/Build.scalaหรือเมื่อproject/plugins.sbtใด แล้วมันจะสนุกขึ้นมีScala-IDEและSBT- วิธีที่ถูกต้องในการใช้ร่วมกันคืออะไร? อะไรมาก่อนไก่หรือไข่? ที่สำคัญที่สุดคือคุณจะหาที่เก็บและเวอร์ชันที่เหมาะสมเพื่อรวมไว้ในโครงการของคุณได้อย่างไร? ฉันแค่ดึงมีดพร้าออกมาและเริ่มแฮ็คทางไปข้างหน้าหรือไม่? ฉันมักจะพบโครงการที่มีทุกอย่างและอ่างล้างจานในครัวแล้วฉันก็รู้ว่า - ฉันไม่ใช่คนเดียวที่หลงทางนิดหน่อย เป็นตัวอย่างง่ายๆตอนนี้ฉันกำลังเริ่มโครงการใหม่ ฉันต้องการใช้คุณสมบัติล่าสุดของSLICKและScalaและอาจต้องใช้ SBT เวอร์ชันล่าสุด อะไรคือจุดเริ่มต้นที่ดีและเพราะเหตุใด ฉันควรกำหนดไฟล์ในไฟล์ใดและควรมีลักษณะอย่างไร ฉันรู้ว่าฉันสามารถทำงานนี้ได้ แต่ฉันต้องการความเห็นจากผู้เชี่ยวชาญว่าทุกอย่างควรไปที่ใด (ทำไมถึงควรไปที่นั่นจะได้รับโบนัส) ฉันใช้SBTสำหรับโครงการขนาดเล็กมานานกว่าหนึ่งปีแล้ว ผมใช้SBTแล้วSBT Extras(ตามที่มันทำให้ปวดหัวบางอย่างน่าอัศจรรย์หายไป) แต่ผมไม่แน่ใจว่าทำไมฉันควรจะใช้อย่างใดอย่างหนึ่งหรืออื่น ๆ ฉันรู้สึกหงุดหงิดเล็กน้อยที่ไม่เข้าใจว่าสิ่งต่าง ๆ เข้ากันได้อย่างไร ( SBTและที่เก็บ) และคิดว่ามันจะช่วยชายคนต่อไปที่ต้องเผชิญกับความยากลำบากอย่างมากหากสิ่งนี้สามารถอธิบายได้ในแง่ของมนุษย์
100 scala  sbt 

11
จะระบุขนาดฮีพสูงสุดของ JVM“ -Xmx” สำหรับเรียกใช้แอปพลิเคชันที่มีการดำเนินการ“ รัน” ใน SBT ได้อย่างไร
แอปพลิเคชันของฉันทำการประมวลผลอาร์เรย์ข้อมูลขนาดใหญ่และต้องการหน่วยความจำมากกว่าที่ JVM มอบให้ตามค่าเริ่มต้น ฉันรู้ว่าใน Java ระบุโดยตัวเลือก "-Xmx" ฉันจะตั้งค่า SBT ให้ใช้ค่า "-Xmx" เฉพาะเพื่อเรียกใช้แอปพลิเคชันด้วยการดำเนินการ "รัน" ได้อย่างไร
98 scala  sbt 

3
วิธีรวบรวมการทดสอบด้วย SBT โดยไม่ต้องเรียกใช้
มีวิธีสร้างการทดสอบด้วย SBT โดยไม่เรียกใช้หรือไม่? กรณีการใช้งานของฉันเองคือการเรียกใช้การวิเคราะห์แบบคงที่ในรหัสทดสอบโดยใช้ปลั๊กอินสเกแลค อีกกรณีการใช้งานที่เป็นไปได้คือการรันโค้ดทดสอบบางส่วนหรือทั้งหมดโดยใช้รันเนอร์ที่แยกจากกันที่สร้างขึ้นใน SBT ตามหลักการแล้วจะมีวิธีแก้ปัญหานี้ที่ใช้กับโครงการ SBT ใด ๆ ตัวอย่างเช่น Maven มีคำสั่งทดสอบคอมไพล์ที่สามารถใช้เพื่อรวบรวมการทดสอบโดยไม่ต้องรัน มันจะดีมากถ้า SBT มีสิ่งเดียวกัน อุดมคติน้อยกว่า แต่ก็ยังมีประโยชน์มากคือโซลูชันที่เกี่ยวข้องกับการแก้ไขไฟล์บิลด์ของโครงการ
97 scala  sbt  build-tools 

3
จะสร้าง Uber JAR (Fat JAR) โดยใช้ SBT ภายใน IntelliJ IDEA ได้อย่างไร
ฉันใช้ SBT (ภายใน IntelliJ IDEA) เพื่อสร้างโครงการ Scala อย่างง่าย ฉันอยากทราบวิธีที่ง่ายที่สุดในการสร้างไฟล์Uber JAR (aka Fat JAR, Super JAR) ฉันกำลังใช้ SBT แต่เมื่อฉันส่งไฟล์ JAR ไปยังApache Sparkฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อยกเว้นในเธรด "main" java.lang.SecurityException: การย่อยไฟล์ลายเซ็นไม่ถูกต้องสำหรับแอตทริบิวต์หลักของ Manifest หรือเกิดข้อผิดพลาดระหว่างเวลาคอมไพล์: java.lang.RuntimeException: ขจัดข้อมูลซ้ำซ้อน: พบเนื้อหาไฟล์ที่แตกต่างกันต่อไปนี้: PATH \ DEPENDENCY.jar: META-INF / DEPENDENCIES PATH \ DEPENDENCY.jar: META-INF / MANIFEST.MF มันดูเหมือนว่ามันเป็นเพราะบางส่วนของการอ้างอิงของฉันรวมถึงแฟ้มลายเซ็น (META-INF) ซึ่งจะต้องออกในรอบสุดท้าย JAR ไฟล์ Uber ฉันพยายามใช้ปลั๊กอินsbt-assemblyแบบนั้น: /project/assembly.sbt …

5
วิธีดูแผนผังการพึ่งพาใน sbt?
ฉันกำลังพยายามตรวจสอบแผนผังการพึ่งพา SBT ตามที่อธิบายไว้ในเอกสารประกอบ : sbt inspect tree clean แต่ฉันได้รับข้อผิดพลาดนี้: [error] inspect usage: [error] inspect [uses|tree|definitions] <key> Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. [error] [error] inspect [error] ^ เกิดอะไรขึ้น? ทำไม SBT ไม่สร้างต้นไม้?

10
จะกำหนดขนาดฮีปสำหรับ sbt ได้อย่างไร?
ฉันใช้ SBT 0.12.0 ฉันได้อ่านคำตอบอื่น ๆ เกี่ยวกับ stack overflow แล้วและปฏิบัติตาม แต่ไม่มีคำตอบใดที่ช่วยได้เช่น: สร้าง ForkRunคลาส - ฉันไม่ได้สังเกตเห็นกระบวนการแยกระหว่างการใช้งาน sbt ตั้งค่าตัวแปรสภาพแวดล้อมJAVA_OPTS- ถูกตั้งค่า แต่บรรทัดคำสั่งกระบวนการของ sbt ดูเหมือนจะไม่ใช้เลย sbt -J-Xmx2Gผนวกพารามิเตอร์เข้ากับบรรทัดคำสั่งกระบวนการ sbt อย่างไรก็ตามค่าเก่า-Xmx1536mถูกใช้โดย sbt แทนพารามิเตอร์ต่อท้าย ฉันพลาดอะไรไปรึเปล่า? ฉันจะตั้งค่าขนาดฮีปสำหรับ sbt 0.12 ได้อย่างไรเมื่อทำการทดสอบทั้งสองและrun?
92 scala  sbt 

1
วิธีรันคำสั่ง sbt assembly โดยไม่ต้องทดสอบจากบรรทัดคำสั่ง
ฉันได้อ่านคำถาม: สิ่งนี้และสิ่งนั้น พวกเขาแนะนำให้แก้ไขไฟล์ sbt แต่ฉันต้องการรันsbt clean assemblyโดยไม่ต้องทดสอบและอย่าแก้ไขไฟล์สร้าง sbt เป็นไปได้ด้วย sbt? ใน maven มี-DskipTest=trueพารามิเตอร์มี analog สำหรับ sbt หรือไม่?
92 testing  build  sbt 

2
ข้อผิดพลาดในการแบ่งคลาสกับ Joda Time โดยใช้ Scala
ฉันกำลังเพิ่มที่เก็บ Joda Time ใน SBT ด้วย libraryDependencies ++= Seq( "joda-time" % "joda-time" % "2.1" ) จากนั้นฉันก็ใช้มันอย่างสนุกสนานเช่นนี้: val ymd = org.joda.time.format.DateTimeFormat.forPattern("yyyyMMdd") ymd.parseDateTime("20121212") แต่เมื่อฉันรวบรวมโครงการใน SBT ฉันได้รับสิ่งที่น่ารังเกียจ: [warn] Class org.joda.convert.FromString not found - continuing with a stub. [warn] Caught: java.lang.NullPointerException while parsing annotations in /home/jack/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.1.jar(org/joda/time/DateTime.class) [error] error while loading DateTime, class file '/home/jack/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.1.jar(org/joda/time/DateTime.class)' …
91 scala  sbt  jodatime 

16
วิธีใช้ sbt จากหลังพร็อกซี
ฉันจะกำหนดค่า sbt ให้ใช้พร็อกซีได้อย่างไร ยกตัวอย่างเช่นคำนิยามของฉันสร้างความต้องการที่จะเชื่อมต่อกับ GitHub ระบุพารามิเตอร์การเชื่อมต่อสำหรับhttp.proxy, http.proxyPort, และuserpassword ฉันจะส่งการตั้งค่าเหล่านี้ไปยัง sbt ได้อย่างไร มีวิธีง่ายๆในการสลับระหว่างการตั้งค่าพร็อกซี / ไม่ใช้พร็อกซีเมื่อฉันทำงานจากที่บ้านหรือไม่
85 sbt 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.