আমি একটি সাধারণ স্কালা প্রকল্প তৈরি করতে এসবিটি (ইন্টেলিজ আইডিইএর মধ্যে) ব্যবহার করছি।
আমি জানতে চাই যে উবার জেআর ফাইল (ওরফে ফ্যাট জেআর, সুপার জেআর) তৈরির সহজ উপায় কী ।
আমি বর্তমানে এসবিটি ব্যবহার করছি তবে আমি যখন আমার জেআর ফাইলটি অ্যাপাচি স্পার্কে জমা দিচ্ছি তখন আমি নিম্নলিখিত ত্রুটিটি পাই:
থ্রেড "মূল" জাভা.লং.সিকিউরিটি এক্সেপশন ব্যতিক্রম: প্রকাশ্য মূল বৈশিষ্ট্যের জন্য অবৈধ স্বাক্ষর ফাইল ডাইজেস্ট
বা সংকলনের সময় এই ত্রুটি:
java.lang.RuntimeException: deduplicate: আলাদা ফাইল বিষয়বস্তু নিম্নলিখিত পাওয়া
পাথ \ DEPENDENCY.jar: মেটা-INF / নির্ভরতা
পাথ \ DEPENDENCY.jar: মেটা-INF / MANIFEST.MF
এটা তোলে দেখে মনে হচ্ছে তার কারণ হল, আমার নির্ভরতা কিছু স্বাক্ষর ফাইল (মেটা-INF) যা চূড়ান্ত উবার JAR- র ফাইলে সরানো প্রয়োজন রয়েছে।
আমি এসবিটি-এসেম্বলি প্লাগইনটি এর মতো ব্যবহার করার চেষ্টা করেছি :
/ প্রোজেক্ট / স্পেস.এসবিটি
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0")
/ প্রকল্প / প্লাগইনস.এসবিটি
logLevel := Level.Warn
/ বিল্ড.এসবিটি
lazy val commonSettings = Seq(
name := "Spark-Test"
version := "1.0"
scalaVersion := "2.11.4"
)
lazy val app = (project in file("app")).
settings(commonSettings: _*).
settings(
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.2.0",
"org.apache.spark" %% "spark-streaming" % "1.2.0",
"org.apache.spark" % "spark-streaming-twitter_2.10" % "1.2.0"
)
)
আমি যখন ইন্টেলিজ আইডিইএতে " বিল্ড আর্টিফ্যাক্ট ... " ক্লিক করি তখন আমি একটি জেআর ফাইল পাই। তবে আমি একই ত্রুটি দিয়ে শেষ করছি ...
আমি এসবিটিতে নতুন এবং ইন্টেলিজ আইডিই নিয়ে খুব বেশি পরীক্ষা নিরীক্ষা করি না।
ধন্যবাদ
META-INF
ফাইলগুলি ফিল্টার করতে হবে - এমন একটি ব্লগ পোস্ট যা সহায়তা করতে পারে: janschulte.wordpress.com/2014/03/20/…