# xpi kompilieren



## desdir (30. Nov 2014)

Hallo allerseits 

Ich bemühe mich gerade einen kleinen Einstieg in Java zu finden. Genau genommen möchte ich ein Addon für den Firefox programmieren und habe Schwierigkeiten es zu einer xpi-Datei zu kompilieren.

SDK spuckt mir diese Meldung aus:

  13: var file = Components.classes["@mozilla.org/file/directory_service;1"].
  14: getService(Components.interfaces.nsIProperties).
  15: get("ProfD", Components.interfaces.nsIFile);
  18: file.create(Components.interfaces.nsIFile.DIRECTORY_TYPE, 0777);
  47: var file1 = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
  49: var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
use 'Components' to access chrome authority. To do so, you need to add a
line somewhat like the following:

  const {Cc,Ci} = require("chrome");

Then you can use any shortcuts to its properties that you import from the
'chrome' module ('Cc', 'Ci', 'Cm', 'Cr', and 'Cu' for the 'classes',
'interfaces', 'manager', 'results', and 'utils' properties, respectively. And
`components` for `Components` object itself).


Kann mir jemand einen kleinen Tipp geben was ich tun muss?


----------



## dzim (30. Nov 2014)

Erste Hilfe wäre: Nicht in einem *Java*-Forum, sondern in einem *JavaScript*-Forum suchen. Wir verwenden hier eine richtige Hochsprache der Softwareentwicklung, nicht so eine HTML(5)-Ersatzsprache... 

Dein Problem ist ein rein JavaScript-basiertes, bzw. auf der Toolchain der Firefox-Plugins. Ich habe selbst nur mittelmässig viel Erfahrung mit JavaScript, würde dir aber einen Tipp geben: Lerne es nicht, indem du eine Erweiterung für Firefox programmierst, sondern stelle dir eine einfache Webseite dafür zusammen. 
Für schnelle Tests dieser Seite kannst du während der Entwicklung einen leichtgewichtigen Server von z.B. Python nutzen (Python 2.x: *python -m SimpleHTTPServer*, Python 3.x: python3 -m http.server (die "3" ist hierbei optional!)).
Interessant könnte jQuery, Angular.JS, Polymer, Bootstrap etc. sein.


----------



## desdir (1. Dez 2014)

dzim hat gesagt.:


> Dein Problem ist ein rein JavaScript-basiertes, bzw. auf der Toolchain der Firefox-Plugins. Ich habe selbst nur mittelmässig viel Erfahrung mit JavaScript, würde dir aber einen Tipp geben: Lerne es nicht, indem du eine Erweiterung für Firefox programmierst, sondern stelle dir eine einfache Webseite dafür zusammen.



Den Rat werde ich beherzigen 

Bin aber auch schon selbst drauf gekommen. Lösung war einfach wie simpel:

https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Chrome_Authority


Trotzdem Danke für die Hilfe!


----------

